我有以下的堆栈跟踪。是否有可能做出有用的调试呢?GDB损坏的堆栈帧 - 如何调试?
Program received signal SIGSEGV, Segmentation fault.
0x00000002 in ??()
(gdb) bt
#0 0x00000002 in ??()
#1 0x00000001 in ??()
#2 0xbffff284 in ??()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
(gdb)
从哪里开始看代码的时候我们得到一个Segmentation fault
和堆栈跟踪不是那么有用吗?
注:如果我张贴代码,然后将这样的专家会给我答案。我想从SO的指导中找到答案,所以我不在这里发布代码。道歉。看到
也许你的程序跳下到杂草 - 您可以恢复堆栈指针什么? – 2012-03-21 17:36:50
要考虑的另一件事是如果帧指针设置正确。你是在没有优化的情况下建立或传递像'-fno-omit-frame-pointer'这样的标志吗?另外,对于内存损坏,如果它是您的选择,'valgrind'可能是更合适的工具。 – FatalError 2012-03-21 17:36:51