Hehe, Adam. Glad I stimulate your sense of vocabulary!
Anyway, the errors I seem to be having related to strings indeed.
GDB gives (compiled with GCC):
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0xfffffffc
0x93bb8a7b in std::string::_Rep::_M_grab ()
LLDB gives (compiled with Clang):
Process 38005 Stopped
* thread #1: tid = 0x2c03, pc = 0x93bb8a7b
where = libstdc++.6.0.9.dylib`std::string::_Rep::_M_grab(std::allocator<char> const&, std::allocator<char> const&) + 15,
stop reason = exception:
type = 0x00000001,
data_count = 2,
data[0] = 0x00000001,
data[1] = 0xfffffffc,
queue = com.apple.main-thread