我有一大堆整天都在运行的代码。删除[]失败,如何找出原因?
delete [] p
回溯追踪(用gdb):
0x00007f4f709f2885 in raise() from /lib64/libc.so.6
0x00007f4f709f4065 in abort() from /lib64/libc.so.6
0x00007f4f70a2f7a7 in __libc_message() from /lib64/libc.so.6
0x00007f4f70a350c6 in malloc_printerr() from /lib64/libc.so.6
我想找出导致删除失败: 每周一次,它试图释放一些指针时崩溃重复的删除或者是其他东西。 我该怎么做?
如果你希望人们能够帮助你,第一步就是实际发布代码。如果一般的“我如何调试这种问题”的建议是你想要的,我会开始记录每次删除被调用,谁叫它何时和为什么。并开始梳理,找到bug的来源。 – Oren
你将需要展示更多的代码。你也可以试试valgrind。 – goji
我建议通过valgrind运行你的程序,希望找到你的bug。 – Grizzly