我正在使用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的指南,其中有一个小程序,可以按函数选择性地进行dwarf转储。 www.ibm.com/developerworks/library/os-debugging/
无论如何,如果您能制作一个nasm hello world dwarf示例, 我相信世界会非常感激,因为它将使dwarf格式更易于理解。 也许有人甚至能够在fasm或其他汇编器中实现它。
为了使它在以后能够自我托管,不仅需要编译为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的指南,其中有一个小程序,可以按函数选择性地进行dwarf转储。 www.ibm.com/developerworks/library/os-debugging/
无论如何,如果您能制作一个nasm hello world dwarf示例, 我相信世界会非常感激,因为它将使dwarf格式更易于理解。 也许有人甚至能够在fasm或其他汇编器中实现它。