我正在用nasm编写一种汇编级人类可读的编程语言。我注意到Dwarf调试是开发它的一个必不可少的组件。
为了使其稍后成为自托管,不仅必须编译为ELF,而且还支持Dwarf以使调试可行。对于ELF,有一个很棒的nasm示例,说明如何制作ELF头文件http://www.muppetlabs.com/~breadbox/software/tiny/teensy.html http://blog.markloiseau.com/2012/05/tiny-64-bit-elf-executables/
我想知道是否有或者甚至可以为DWARF制作类似的东西,例如hello world,其中包括与gdb一起工作所需的DWARF部分。有了这样一个例子,理解DWARF会容易得多,而不是通过相当晦涩的文档,这些文档主要是指C。我找到的最接近的是IBM的一个指南,它有一个小程序,可以让您在每个函数的基础上有选择地减少www.ibm.com/developerworks/library/os-debugging/转储
无论如何,如果您碰巧能够创建一个nasm hello world dwarf示例,我相信全世界都会非常欣赏它,因为它将使dwarf格式更易于访问。也许到那时,某些人甚至可以用fasm或nasm以外的其他汇编程序来实现它。
发布于 2014-01-06 11:50:10
如果您不介意深入了解一下,gdb测试套件中有一个简单的"DWARF汇编程序“。参见src/gdb/testsuite/lib/dwarf.exp。它很容易理解,尽管它的名字很简单,但它写出了汇编代码。您可以使用grep遍历测试套件的其余部分,以查看如何使用它的示例。
https://stackoverflow.com/questions/20930801
复制相似问题