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

Line number debug information in my compiler

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

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

可能有人有其他想法?

我猜你正在寻找 NASM's %line directive. (To generate debugging info, you need to use the -g command line flag。)