我的程序崩溃了下面的堆栈跟踪
(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函数名称?
答案 0 :(得分:0)
我想知道如何获取堆栈跟踪中显示的libc.so.6函数名称?
这通常会自动发生。它没有发生在您身上的原因很可能是您已auto-solib-add off
中的~/.gdbinit
。
不要这样做,或使用sharedlibrary .
在崩溃点为所有共享库加载符号。