【发布时间】:2016-09-14 09:36:47
【问题描述】:
我有一个在这里多次讨论过的问题:应用程序在直接从 shell 启动时运行,而当我尝试在同一个 shell 的调试器中启动它时不运行。在 GDB 中运行会产生“无法打开共享对象”错误。
我已阅读所有帖子并提出了所有建议:
- 我手动设置
LD_LIBRARY_PATH并验证我的应用程序运行并且ldd -r无错误通过 - 我在 GDB 中将
solib-search-path和solib-absolute-prefix分别设置为与 LD_LIBRARY_PATH 和 '/' 相同的值。所有的路径都是绝对的 - 我使用
strace运行 GDB 以查看 GDB 在哪里查找所需的共享库,发现它忽略了来自 LD_LIBRARY_PATH / solib-search-path 的目录列表
我能做什么?
它是带有 RHEL 7 的 GDB 7.11.1
【问题讨论】:
-
您是否尝试过附加到正在运行的进程?在这种情况下,gdb 将使用 /proc 信息
标签: gdb