3

我正在用 nasm 编写汇编级别的人类可说编程语言。我注意到 Dwarf 调试是开发它的重要组成部分。

为了让它以后成为自托管,不仅要编译为 ELF,还要支持 Dwarf 以使调试可行。对于 ELF,有一个很好的 nasm 示例,说明如何制作 ELF 标头 http://www.muppetlabs.com/~breadbox/software/tiny/teensy.html http://blog.markloiseau.com/2012/05/tiny -64 位精灵可执行文件/

我想知道是否有或什至可以为 DWARF 制作类似的东西,一个示例 hello world,其中包括与 gdb 一起使用所需的 DWARF 部分。有了这样一个例子,理解 DWARF 会容易得多,而不是通过主要指 C 的相当神秘的文档。我发现最接近的是 IBM 的指南,它有一个小程序,可以让你有选择地在每个功能基础 www.ibm.com/developerworks/library/os-debugging/

无论如何,如果您碰巧能够制作一个 nasm hello world dwarf 示例,我相信全世界都会非常欣赏它,因为它会使 dwarf 格式更易于访问。也许有人甚至可以在 fasm 或除 nasm 之外的其他汇编程序中实现它。

4

1 回答 1

1

If you don't mind digging a bit, there is a simple "DWARF assembler" in the gdb test suite. See src/gdb/testsuite/lib/dwarf.exp. It's pretty easy to understand and despite its name it writes out assembly code. You can grep through the rest of the test suite to see examples of how it is used.

于 2014-01-06T03:50:09.950 回答