如果只有一个损坏的堆栈核心文件,如何找到调用堆栈?

时间:2013-07-25 10:10:47

标签: c gcc gdb core

带有损坏堆栈的coredump文件,没有任何有用的信息。我怎样才能找到调用堆栈? 堆栈显示:

#0  0x04229c7a in ?? ()
#1  0x00921fa7 in ?? ()
#2  0xbfc17e04 in ?? ()

Backtrace已停止:此框架内部的前一帧(损坏的堆栈?)

和eip的地址显示“无法访问内存”! 认为!

1 个答案:

答案 0 :(得分:2)

显示调用堆栈需要正确的指令指针(eip),堆栈指针(esp)和有效的堆栈内容。

从输出中看起来堆栈已损坏,前一个函数返回到某个随机地址(eip = 0x04229c7a)。

所以,你运气不好。

尝试在valgrind下运行程序。