当前位置: 技术问答>linux和unix
求高手解答,程序在main函数退出之后core了!
来源: 互联网 发布时间:2016-10-06
本文导语: RT,程序结构是while死循环,按Ctrl + C后发出信号终止循环,然后完成类的析构,main函数return之后发生Abort(coredump)。 GDB调试core,堆栈如下: #0 0xc00000000033bcd0:0 in kill+0x30 () from /usr/lib/hpux64/libc.so.1 #1 0xc0000000002...
RT,程序结构是while死循环,按Ctrl + C后发出信号终止循环,然后完成类的析构,main函数return之后发生Abort(coredump)。
GDB调试core,堆栈如下:
#0 0xc00000000033bcd0:0 in kill+0x30 () from /usr/lib/hpux64/libc.so.1
#1 0xc000000000260010:0 in raise+0x30 () from /usr/lib/hpux64/libc.so.1
#2 0xc0000000002fda30:0 in abort+0x190 () from /usr/lib/hpux64/libc.so.1
#3 0xc000000001f65cf0:0 in std::terminate()+0x50 ()
from /usr/lib/hpux64/libCsup.so.1
#4 0xc000000001f906e0:0 in __cxxTerm+0x60 () from /usr/lib/hpux64/libCsup.so.1
#5 0xc0000000002a56c0:0 in __exit_handler+0xa0 ()
from /usr/lib/hpux64/libc.so.1
求高手解答!
GDB调试core,堆栈如下:
#0 0xc00000000033bcd0:0 in kill+0x30 () from /usr/lib/hpux64/libc.so.1
#1 0xc000000000260010:0 in raise+0x30 () from /usr/lib/hpux64/libc.so.1
#2 0xc0000000002fda30:0 in abort+0x190 () from /usr/lib/hpux64/libc.so.1
#3 0xc000000001f65cf0:0 in std::terminate()+0x50 ()
from /usr/lib/hpux64/libCsup.so.1
#4 0xc000000001f906e0:0 in __cxxTerm+0x60 () from /usr/lib/hpux64/libCsup.so.1
#5 0xc0000000002a56c0:0 in __exit_handler+0xa0 ()
from /usr/lib/hpux64/libc.so.1
求高手解答!
|
建议:
1、把这些小改动都改回去,试试看还会不会coredump
2、估计原来就有问题,只是这次的改动触发了这个bug。
1、把这些小改动都改回去,试试看还会不会coredump
2、估计原来就有问题,只是这次的改动触发了这个bug。
|
应该是类中分配使用了一些内存没有在析构中释放。
|
会不会是类的析构造成内存的异常访问..
|
之前的代码没问题,现在的代码有问题,结论就是改的有问题。呵呵