3

我想知道 linux gdb 调试。

我有 1 个执行文件,1 个核心转储文件。所以,我像这样在linux中打开它,

gdb exefilename -c exefuilename.core

但是,我只显示错误信息。

warning: Could not load shared library symbols for 44 libraries, e.g. /usr/local/lib/libboost_system.so.1.55.0.
Use the "info sharedlibrary" command to see the complete listing.
Do you need "set solib-search-path" or "set sysroot"?

所以,我输入命令,

set solib-search-path /librarypath/

并且符号读取成功。而且,我输入命令

quit

而且,我重新打开转储文件。像这样,

gdb exefilename -c exefuilename.core

但仍然显示相同的错误消息。

warning: Could not load shared library symbols for 44 libraries, e.g. /usr/local/lib/libboost_system.so.1.55.0.
Use the "info sharedlibrary" command to see the complete listing.
Do you need "set solib-search-path" or "set sysroot"?

我不想永远显示此错误消息。所以,我想保存库搜索路径。我能怎么做?

4

1 回答 1

5

您可以创建一个名为.gdbinit

您可以将它放在您的主文件夹中(它将为所有项目加载)或当前目录(它将用于从该文件夹加载的 gdb 会话)。

周围有很多关于各种复杂性的有趣例子。我会保持简单的开始 - 只需.gdbinit在您的本地文件夹中用那一行创建一个

set solib-search-path /librarypath/

如果需要,以后可能会添加更多。

于 2017-07-04T03:51:00.770 回答