我有一个由剥离应用程序生成的堆栈跟踪,如下所示:
*** Check failure stack trace: ***
@ 0x7f0e442d392d (unknown)
@ 0x7f0e442d7b1f (unknown)
@ 0x7f0e442d7067 (unknown)
@ 0x7f0e442d801d (unknown)
@ 0x7f0e457c55e6 (unknown)
@ 0x7f0e457c5696 (unknown)
@ 0x4e8765 (unknown)
@ 0x4a8b43 (unknown)
@ 0x7f0e43197ced (unknown)
@ 0x4a6889 (unknown)
我有一个非剥离版本的可执行文件及其所有库(使用调试信息编译).但是我怎样才能把地址翻译成文件和行号呢??
以下是我try 过的:
gdb
set solib-absolute-prefix /path/to/non-stripped/edition/of/root/filesystem/sysroot/
file /path/to/non-stripped/edition/of/root/filesystem/sysroot/usr/bin/my-buggy-app
info line *0x7f0e457c5696
当我输入file命令时,它只加载文件中的符号,而不是所有使用的库.有没有办法做到这一点?
"信息行"命令显示:
地址0x7f0e442d801d没有可用的行号信息
我认为这是因为地址在其中一个共享库中,但我怎么知道地址在哪一个库中呢?