【问题标题】:Getting debug symbols on UNIX在 UNIX 上获取调试符号
【发布时间】:2011-03-03 03:52:59
【问题描述】:


在 Windows 上,我们可以使用 dbgHelp 库获取调试符号。
我们如何在 UNIX/linux(使用 c++)上做到这一点?

谢谢:)

【问题讨论】:

    标签: c++ unix debug-symbols


    【解决方案1】:

    这取决于您使用的 Unix 版本或 Linux 发行版。对于 Debian 和 Debian 派生发行版,例如 Ubuntu,您需要使用普通的包管理器安装 debug packages。 Fedora 使用debuginfo rpms 添加调试符号。对于其他系统,恐怕您必须自己搜索。

    【讨论】:

      【解决方案2】:

      我很确定现在所有版本的 unix 都使用相同的格式进行调试。例如,Linux 至少使用了两种格式,以及后一种格式的多个版本。那个,DWARF(是的,它是一个文字游戏,与作为对象格式的 ELF 一起出现)被标准化并被其他一些 Unix 使用。 libdwarf 有几种变体,旨在帮助阅读调试信息。首先查看一个是否由您的 unix 供应商提供(例如 IBM 在 AIX 上提供的 ISTR,几个 Linux 发行版也在这样做),如果没有,请在网络上搜索一个合适的。

      【讨论】:

      • 我有点困惑(可能是因为我对 unix 不太熟悉。) E​​LF 文件类似于 Windows 上的 pdb 文件?我在 ubunto 上看过 pstack 项目,我认为它读取这种格式。这会做这项工作吗? :)
      • ELF 更像 COFF,DWARD 更像 pdb
      猜你喜欢
      • 1970-01-01
      • 2020-01-26
      • 2011-07-28
      • 1970-01-01
      • 2020-09-14
      • 1970-01-01
      • 1970-01-01
      • 2020-11-07
      • 1970-01-01
      相关资源
      最近更新 更多