我收到“此时没有加载共享库”,当我提供“info share”命令时,我还在gdb上加载了符号文件和核心。但通常coredump应根据其相应的应用程序加载共享库。我已经指定了solib-search-path,其中GDB在搜索符号时会查找共享库。
在“此时没有加载共享库”的情况下是否可以获得回溯?
gdb>info sharedlibrary
No shared libraries loaded at this time.
gdb> bt
#0 0xb6d1f232 in ?? ()
#1 0xb6d25ddc in ?? ()
#2 0xb6d25ddc in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
非常感谢,提前。
答案 0 :(得分:1)
我得到"此时没有加载共享库"
最常见的原因:二进制不匹配。
让我们将主机定义为运行GDB的计算机,并将目标定位为发生核心转储的计算机。
libc
)已更新,或我已指定
solib-search-path
加载solib-search-path
后,指定core
不起作用。这样做:
gdb ./a.out
(gdb) set solib-search-path /path/to/libs
(gdb) core core # load core *after* setting solib-search-path
使用set verbose on
可能有助于准确显示GDB正在尝试加载的库(如果有)。