我的编译器中的行号调试信息

时间:2018-03-13 16:03:57

标签: compiler-construction

我正在尝试实现自己的编译器。

作为编译器的结果,我应该收到NASM或FASM的汇编列表,我将使用该外部汇编器进行编译。但不幸的是,我没有找到任何方法如何指示NASM或FASM在DWARF或STABS或其他“源地图”文件中生成行信息,在那里我将能够读取HighLevelSourceCodeLine_number-> OffsetLengthInMachineCode“。 目前我看到的唯一解决方案 - 手动创建汇编程序就可以做到这一点,但这不是一件容易而且简短的任务。

可能有人有其他想法吗?

1 个答案:

答案 0 :(得分:3)

我猜您正在寻找NASM's %line directive。 (要生成调试信息,您需要使用-g command line flag。)