我创建了一个多图ErrorMap
并插入这样的值
map<char*,char*> ErrorMap;
ErrorMap.insert(map<char*, char*>::value_type(*l_itrList, ErrorMsg1));
在此之后,我正在阅读此地图三遍以处理一些请求。在删除之前,我打印地图,前两个对值已损坏,其余值正常。
我在这里得到核心转储。
我可以详细了解这些值在阅读时是如何影响的吗?任何解决方案,以便我可以保存我的地图,直到我明确删除它。
我的日志
mapItrMov4.first (€J+) mapItrMov4.second(无效的服务请求)
mapItrMov4.first (hK+) mapItrMov4.second(无效的服务请求)
mapItrMov4.first (first) mapItrMov4.second (InvalidServiceRequest)
……
之后就好了
gdb 回溯
(gdb) BT
0x001c2cae in raise () from /lib/tls/i686/libc.so.6
0x001c42b0 in abort () from /lib/tls/i686/libc.so.6
来自 /lib/tls/i686/libc.so.6 的 __libc_message () 中的 0x001f2469
0x001f7ef8 in _int_free () from /lib/tls/i686/libc.so.6
/lib/tls/i686/libc.so.6 中的 free() 中的 0x001f824f
0x004dbfd1 in operator delete () from /usr/lib/libstdc++.so.6
来自 /usr/lib/libstdc++.so.6 的运算符 delete[] () 中的 0x004dc01d
amsAccMgmtReqHandler::opServicesReqHandler 中的 0x080ab607 (this=0x95b91dc, m_Response=0x95ba588 "68287
amsAccMgmtReqHandler::handleRequest 中的 0x080b35c4 (this=0x95b91dc, a_cpRequestStr=0x2187820 "1< MSISDN>102000073589953099999000000000599999000"..., a_cpResponseStr=0x95ba588 "68287
amsWorker::run 中的 0x081344d5 (this=0x95b91d0)
workerThread::ThreadProc 中的 0x081cef83 (p=0x959f234)
/lib/tls/i686/libpthread.so.0 的 start_thread () 中的 0x003ca144
/lib/tls/i686/libc.so.6 中的克隆 () 中的 0x00258a7e