gdb无法打开共享对象文件 [英] gdb can not open shared object file

查看:395
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆