Linux应用程序glibc Stack Trace

时间:2014-08-17 09:23:06

标签: gdb glibc

我的程序崩溃了下面的堆栈跟踪

(gdb) bt
#0  0xffffe430 in ?? ()
#1  0xf73a1765 in ?? () from /lib/libc.so.6
#2  0xf73e4da3 in ?? () from /lib/libc.so.6
#3  0xf73e989c in ?? () from /lib/libc.so.6
#4  0xf5fc6935 in MemoryFree (block=0x25757) at ../demo/demolib.c:536
.
.
.

在第4帧中,free()函数被调用,我知道错误和解决方案。

问题出在上面的堆栈跟踪中,第0帧到第3帧不显示任何函数名称,只显示库libc.so.6。在第3帧,可能会调用free()。​​

我想知道如何获取堆栈跟踪中显示的libc.so.6函数名称?

1 个答案:

答案 0 :(得分:0)

  

我想知道如何获取堆栈跟踪中显示的libc.so.6函数名称?

这通常会自动发生。它没有发生在您身上的原因很可能是您已auto-solib-add off中的~/.gdbinit

不要这样做,或使用sharedlibrary .在崩溃点为所有共享库加载符号。