module-debug
模块分析:debug
1. 角色定位
debug/ 负责生成调试信息(DWARF)与 CompCert
级别的调试元数据。
2. 关键文件与实现细节
DebugInformation.ml: 在前端/后端过程中采集变量、类型、位置等信息DebugTypes.mli,DwarfTypes.mli: 调试类型与 DWARF 描述结构Dwarfgen.ml: 将DebugInformation转换为 DWARF DIE 条目- 通过
dwarf_accu累积类型/位置/ranges int_type_to_entry,float_type_to_entry,array_to_entry等构建各类 DIE- 与
Machine.config交互,依赖类型大小/对齐
- 通过
DwarfPrinter.ml: 输出 DWARF
3. 生成时机
- 后端
Debugvar在 RTL/Mach 期间插入调试信息 - 最终汇编阶段由
Dwarfgen/DwarfPrinter输出