当前位置: 首页 > 面试题库 >

gdb无法打开共享对象文件

龚沛
2023-03-14
问题内容

我试图从控制台开始调试我的应用程序。

> gdb ./Geod

然后在gdb中

(gdb) run

我得到的输出:

error while loading shared libraries: libGeo.Cored.so.1: 
cannot open shared object file: No such file or directory

系统配置如下:

> 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.

问题答案:

您可以set environment在gdb中使用该命令来更改gdb用于启动要调试的程序的环境。从gdb帮助中提取:

(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.

范例LD_LIBRARY_PATH

(gdb) set environment LD_LIBRARY_PATH /home/paceholder/projects/geo/lib/debug


 类似资料:
  • 问题内容: 我有一个二进制文件和一个共享库。共享库使用以下命令进行编译: 二进制文件使用以下命令进行编译: 我进去了 到输出路径。 从控制台调试工作正常: 但是,从Emacs22启动gdb失败,并显示以下消息: 启动程序:/ mnt / sda5 / Programming / main / src / mainx / mnt / sda5 / Programming / main / src /

  • 在RHEL 6中,我通过remi存储库安装了PHP7.2: 检查了使用预安装的模块。它没有列出。因此,我继续安装它: 再次检查模块,发现oci8尚未加载。为了测试我用尝试的所有模块是否都失败(默认情况下未安装): 如果我做mbstring成功地列在那里。我错过了什么与?提前谢谢你。 我已经将扩展添加到php中。扩展名为oci8的ini文件。然后我做了: PHP警告:PHP启动:无法加载第0行中未知

  • 尝试在我的14.10版ubuntu上安装rJava包,使用以下代码 在重新安装jdk后,遇到了一些与jni相关的错误,包括jni问题,并尝试再次运行相同的代码,得到了该错误 寻找解决方案,找到所有建议(对于x64)执行这些命令的人 但这不起作用,我还能做什么?我会提供任何需要的细节。

  • 我有一个巨大的麻烦来运行我的代码。我已经尝试过重新安装packges,在环境中安装等等,但是我认为我做得不对。 我得到这个信息: 使用TensorFlow后端。 回溯(最近一次呼叫最后一次): 文件“”,第1行,在导入keras中 文件“/home/wagner/anaconda3/lib/python3.5/site packages/keras/init.py”,第3行,在from中。导入UT

  • 我正在尝试安装tensorflow的对象检测模块,但在运行以下命令时: python3对象检测/builders/model\u builder\u test.py 我得到以下错误。我已经安装了CUDA8.0,9.0,9.1和cuDNN 6和7,但仍然有以下错误。我感谢你的建议,谢谢! 回溯(最后一次调用):文件“/usr/local/lib/python3.5/dist-packages/ten

  • 我正在编写一个在后端使用redis的C程序。 我尝试过构建/安装hiredis(make 使用以下命令行构建:gcc-v example.c-l hiredis-I/usr/local/include/hiredis/ 我尝试过的事情: pkg info hiredis返回0 通过(make)卸载/重新安装 都没有运气。 我猜我没有为gcc正确链接程序,但是文档中没有任何构建示例。 我做错了什么,