【问题标题】:How to get debugging symbols for Programs that Ship with Debian?如何获取 Debian 附带的程序的调试符号?
【发布时间】:2015-10-24 00:23:37
【问题描述】:

短版:如何获取/添加 Debian 附带的程序的调试符号以便使用 gdb 进行调试?

加长版:我正在使用 Debian 7.7.0 附带的 Exim 邮件服务器,我需要调试符号,以便可以在 gdb 中调试程序。获得这些符号的最简单方法是什么?我尝试过从源代码安装,但由于我需要特定的过时版本的 Exim 以及从源代码安装时服务器的配置,这很困难。

非常感谢任何帮助。谢谢!

【问题讨论】:

    标签: c debugging gdb debian debug-symbols


    【解决方案1】:

    许多包都有一个可选的额外包以-dbg 结尾,其中包含调试符号。根据corresponding page on packages.debian.org,exim4 也是如此。

    所以安装 exim4-dbg,你应该会得到与本地编译相同的符号。

    【讨论】:

    • gdb 是否需要一些额外的配置来加载使用 exim4-dbg 安装的符号?安装 exim4-dbg 后 GDB 不会自动加载符号。
    • 我认为它只是标准的 gdb,它已被检测到通过此包存储符号的目录中 - 但我也有一段时间没有这样做了。
    • 重启 gdb 或使用nosharedlibrary,后跟sharedlibrary .*。如果这不起作用,那么您的 gdb 可能是使用错误的设置构建的,也许 set debug-file-directory 设置正确的值会有所帮助。
    【解决方案2】:

    我认为 objdump 命令可以完成您需要的工作。检查它的手册/尝试各种标志并检查是否从中获得有用的输出。

    【讨论】:

    • objdump 需要使用调试信息/源代码,这是我首先要获得的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-30
    • 2014-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-31
    相关资源
    最近更新 更多