2013-07-25 55 views
1

有损坏堆栈的coredump文件,没有任何有用的信息。我如何找到调用堆栈? 堆栈显示:如何在只有损坏的堆栈文件时找到调用堆栈?

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

回溯停止:前帧内该框架

和EIP的地址显示为“无法访问内存”(堆栈损坏?)! 认为!

+0

你有任何其他类型的日志文件可以帮助你吗?这可能有助于向您提供有关问题大概位置的线索。或者一路走来,用函数追踪,所以你可以看到* exaclty *会发生什么。 –

+0

找不到来自日志的任何有用信息! – wuwl

+0

如果您的代码不包含任何动态库,则可以尝试通过映射文件将此地址映射到函数。 –

回答

2

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

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

所以,你运气不好。

尝试在valgrind下运行您的程序。

+0

更多建议? – wuwl

+2

尝试在valgrind下运行您的应用程序。 –