当前位置: 技术问答>linux和unix
core dump? 如何定位
来源: 互联网 发布时间:2015-08-25
本文导语: 在solaris下运行程序,经常core dump,通过dbx prog core来查看信息,一般的根据提示还可以解决。但有时是停在 malloc 或者 free的地方,停在malloc的地方较多。 引起这个问题通常是有一些内存中的信息被非法覆盖...
在solaris下运行程序,经常core dump,通过dbx prog core来查看信息,一般的根据提示还可以解决。但有时是停在 malloc 或者 free的地方,停在malloc的地方较多。
引起这个问题通常是有一些内存中的信息被非法覆盖了,导致堆栈混乱。可是现在根本无从定位是在哪里出问题了。
如果出现这种情况,有什么办法可以有效的定位?谢谢
在dbx下如何看堆栈的使用情况
引起这个问题通常是有一些内存中的信息被非法覆盖了,导致堆栈混乱。可是现在根本无从定位是在哪里出问题了。
如果出现这种情况,有什么办法可以有效的定位?谢谢
在dbx下如何看堆栈的使用情况
|
gdb中用bt命令可以看到最后几个连续调用栈,一般都可以跟到问题
不知道dbx有没有类似命令
不知道dbx有没有类似命令
|
valgrind 这个工具来查一下,内存非法访问吧,然后一个个除掉
|
没办法,只有一点一点查!
所以说才要用C++啊。内存管理不至于这么麻烦。
所以说才要用C++啊。内存管理不至于这么麻烦。
|
gdb corexxx
where
where
|
类似的工具很多。sourceforge里一搜一堆。
|
不过好用的没几个啊:)