2014-01-05 39 views
3

我在nasm编写一个程序集级人类可说的编程语言。我注意到,矮人的调试是开发它的一个重要组件。为了使它在稍后成为自托管,不仅要编译为ELF,还要支持Dwarf使调试成为可能。 对于ELF有一个如何使一个ELF头一个美妙的NASM例如 http://www.muppetlabs.com/~breadbox/software/tiny/teensy.html http://blog.markloiseau.com/2012/05/tiny-64-bit-elf-executables/矮人你好世界大会的例子或者tutoral?

我想知道,如果有,甚至可以作出的侏儒, 一个例子的hello world类似的东西,这包括它需要使用gdb的DWARF部分。 有了这样一个例子,理解DWARF将会容易得多,而不是经历相当神秘的文档,而这些文档主要是指C。我发现的最接近的是IBM的一个指南,它有一个小程序,可以让您选择性地侏儒倾倒在每个函数基础 www.ibm.com/developerworks/library/os-debugging/

不管怎么说,如果你碰巧是能够做出NASM世界你好矮例如, 我相信世界将多欣赏它,因为它会使矮人格式更容易访问。也许有人会甚至能够实现它在fasm或其他汇编比nasm。

回答

1

如果你不介意挖掘一下,gdb测试套件中有一个简单的“DWARF汇编程序”。请参阅src/gdb/testsuite/lib/dwarf.exp。这很容易理解,尽管它的名字写出了汇编代码。您可以通过测试套件的其余部分来查看如何使用它的示例。

+0

嗯,是的,虽然它可能是一个矮小的汇编程序,它是用C编写的。 也许使用它和DWARF手册有可能, 根据请求构建一个nasm汇编文件。 我在编码方面还有一些小小的失误, 但是如果在几个月内没有nasm的例子,我会自己做一个这样的nasm例子,假设能够。 –