gpt4 book ai didi

linux - 在 Eclipse CDT 中的 gdb 中调用时,如何使调试的应用程序找到共享库?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:12:25 25 4
gpt4 key购买 nike

我正在尝试在 Linux x86_64 (Ubuntu Karmic) 上的 Eclipse CDT 中调试 Firefox 主干。

我做了以下事情:

  • 我在项目级运行/调试配置的“源” Pane 中创建了从/到/每个 DevMo 的路径映射。
  • 我已将/opt/Projects/obj-debug/dist/bin/firefox-bin 设置为主 Pane 中的 C++ 应用程序。 (我的 Firefox obj 目录是/opt/Projects/obj-debug)
  • 我已经在 Arguments Pane 中将工作目录设置为/opt/Projects/obj-debug/dist/bin
  • 我已在“参数” Pane 中将参数设置为 -no-remote -P dev
  • 在“环境” Pane 中,我已将环境设置为根据 run-mozilla.sh 的作用附加以下内容:
    • ADDON_PATH :/opt/Projects/obj-debug/dist/bin
    • 显示 : :0.0
    • DYLD_LIBRARY_PATH :/opt/Projects/obj-debug/dist/bin:/opt/Projects/obj-debug/dist/bin
    • LD_LIBRARY_PATH :/opt/Projects/obj-debug/dist/bin:/opt/Projects/obj-debug/dist/bin/plugins:/opt/Projects/obj-debug/dist/bin
    • LIBPATH :/opt/Projects/obj-debug/dist/bin:/opt/Projects/obj-debug/dist/bin
    • 库路径:/opt/Projects/obj-debug/dist/bin:/opt/Projects/obj-debug/dist/bin/components:/opt/Projects/obj-debug/dist/bin
    • MOZILLA_FIVE_HOME :/opt/Projects/obj-debug/dist/bin
    • NO_EM_RESTART:1
    • NO_REMOTE : 1
    • SHLIB_PATH :/opt/Projects/obj-debug/dist/bin:/opt/Projects/obj-debug/dist/bin
  • 在我的调试器 Pane 中
    • 选择 gdb 调试器
    • 我已将 gdb 可执行文件设置为 gdb 并将 .gdbinit 设置为/home/hsivonen/.gdbinit

以上足以使用 Run 成功启动 Firefox。但是,当使用 Debug 启动时,我在控制台中看到了这一行:/opt/Projects/obj-debug/dist/bin/firefox-bin:加载共享库时出错:libmozalloc.so:无法打开共享对象文件:没有这样的文件或目录

我还尝试将相关路径放入“调试器” Pane 的共享库子 Pane 中,并且尝试将设置 solib-search-path/opt/Projects/obj-debug/dist/bin/components:/opt/Projects/obj-debug/dist/bin/plugins:/opt/Projects/obj-debug/dist/bin 在我的 .gdbinit 中。

运气不好。

如何在调试应用时找到共享库?

最佳答案

我经常以这种方式成功地使用 CDT 调试器:

  1. 从终端,为要调试的二进制文件设置工作环境(导出 LD_LIBRARY_PATH 等)
  2. 同一个终端,启动eclipse(eclipse会继承环境)
  3. 从 eclipse 中,选择“Makefile Project With Existing Code”并导入您的文件夹
  4. 从左 Pane 中选择您的二进制文件并右键单击:Debug As → C/C++ Application。

关于linux - 在 Eclipse CDT 中的 gdb 中调用时,如何使调试的应用程序找到共享库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2834326/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com