在 Windows 上,我们可以使用 dbgHelp 库获取调试符号。
我们如何在 UNIX/linux(使用 c++)上做到这一点?
谢谢 :)
这取决于您使用的是哪个 Unix 版本或 Linux 发行版。对于 Debian 和 Debian 派生发行版,例如 Ubuntu,您需要使用普通的包管理器安装调试包。Fedora 使用debuginfo rpms添加调试符号。对于其他系统,恐怕您必须自己搜索。
我很确定现在所有版本的 unix 都使用相同的格式进行调试。例如,Linux 至少使用了两种格式,以及后一种格式的多个版本。那个,DWARF(是的,它是一个文字游戏,与作为对象格式的 ELF 一起出现)被标准化并被其他一些 Unix 使用。libdwarf 有几种变体,旨在帮助阅读调试信息。首先查看一个是否由您的 unix 供应商提供(例如 IBM 在 AIX 上提供的 ISTR,几个 Linux 发行版也在这样做),如果没有,请在 Web 上搜索一个合适的。