gdb无法打开共享对象文件 [英] gdb can not open shared object file
本文介绍了gdb无法打开共享对象文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
>我试图从控制台开始调试我的应用程序。 gdb ./Geod
然后在gdb中
(gdb)运行
并且得到输出:
加载共享库时出错:libGeo.Cored.so.1:
无法打开共享对象文件:没有这样的文件或目录
系统配置如下:
> echo $ LD_LIBRARY_PATH
/ home / paceholder / projects / geo / lib / debug
> ls $ LD_LIBRARY_PATH
libGeo.Cored.so.1.0.0
libGeo.Cored.so
libGeo.Cored.so.1
libGeo.Cored.so.1.0
$ b $(gdb)显示solib-search-path
加载非绝对共享库符号文件的搜索路径是
/ home / paceholder / projects / geo / lib /调试。
解决方案
您可以使用集环境
命令在gdb中更改gdb用来启动您要调试的程序的环境。从gdb中提取帮助:
(gdb)帮助设置环境
设置环境变量值给程序。
参数是VAR VALUE,其中VAR是变量名称,VALUE是值。
环境变量的值是未解释的字符串。
这不影响程序,直到下一个运行命令。
使用 LD_LIBRARY_PATH
的示例:
(gdb)set environment LD_LIBRARY_PATH / home / paceholder / projects / geo / lib / debug
I am trying to debug my application starting from console.
> gdb ./Geod
then in gdb
(gdb) run
and I get the output:
error while loading shared libraries: libGeo.Cored.so.1:
cannot open shared object file: No such file or directory
The system is configured as follows:
> echo $LD_LIBRARY_PATH
/home/paceholder/projects/geo/lib/debug
> ls $LD_LIBRARY_PATH
libGeo.Cored.so.1.0.0
libGeo.Cored.so
libGeo.Cored.so.1
libGeo.Cored.so.1.0
(gdb) show solib-search-path
The search path for loading non-absolute shared library symbol files is
/home/paceholder/projects/geo/lib/debug.
解决方案
You can use the set environment
command in gdb to change the environment gdb uses to launch the program you want to debug. Extract from the gdb help:
(gdb) help set environment
Set environment variable value to give the program.
Arguments are VAR VALUE where VAR is variable name and VALUE is value.
VALUES of environment variables are uninterpreted strings.
This does not affect the program until the next "run" command.
Example with LD_LIBRARY_PATH
:
(gdb) set environment LD_LIBRARY_PATH /home/paceholder/projects/geo/lib/debug
这篇关于gdb无法打开共享对象文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文