2017-07-04 886 views
2

我不知道linux的gdb调试。如何保存“set solib-search-path”

我有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"? 

我不想显示这个错误信息。 所以,我想保存库搜索路径。 我该怎么办?

回答

2

您可以创建一个名为.gdbinit

你可以把这个无论是在您的个人文件夹(这将加载所有项目),或在当前目录(它将被用于从加载的GDB会话这个文件夹)。

有一堆有趣的各种复杂的例子。我会保持简单入手 - 只要在您的本地文件夹中创建一个.gdbinit与一行

set solib-search-path /librarypath/ 

也许稍后添加更多,如果你需要。

+0

谢谢!!!!!! – user3416447