Gdb 在以下情况下是否可能获得回溯;此时未加载共享库";?

Gdb 在以下情况下是否可能获得回溯;此时未加载共享库";?,gdb,shared-libraries,coredump,debug-symbols,backtrace,Gdb,Shared Libraries,Coredump,Debug Symbols,Backtrace,当我发出“info share”命令并且在gdb上加载了符号文件和核心时,我得到了“此时没有加载共享库”。但通常,coredump应该根据其相应的应用程序加载共享lib。我已经指定了solib搜索路径,GDB在搜索符号时将在该路径中查找共享库 在“此时未加载共享库”的情况下,是否可以获取回溯 提前谢谢你 我收到“此时未加载共享库” 最常见的原因是:二进制不匹配 让我们将主机定义为运行GDB的机器,将目标定义为发生核心转储的机器 如果host==target,您可能给GDB的主可执行文件与崩溃的

当我发出“info share”命令并且在gdb上加载了符号文件和核心时,我得到了“此时没有加载共享库”。但通常,coredump应该根据其相应的应用程序加载共享lib。我已经指定了solib搜索路径,GDB在搜索符号时将在该路径中查找共享库

在“此时未加载共享库”的情况下,是否可以获取回溯

提前谢谢你

我收到“此时未加载共享库”

最常见的原因是:二进制不匹配

让我们将主机定义为运行GDB的机器,将目标定义为发生核心转储的机器

  • 如果host==target,您可能给GDB的主可执行文件与崩溃的可执行文件不匹配,或者
  • 已更新系统库(尤其是
    libc
    ),或
  • 主持人!=主机和目标之间的目标库和系统库不同
我已经指定了
solib搜索路径

加载
核心后指定
solib搜索路径
无效。改为这样做:

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正在尝试加载的库(如果有的话)

gdb ./a.out
(gdb) set solib-search-path /path/to/libs
(gdb) core core  # load core *after* setting solib-search-path