2

我正在研究一个新的 CIL 目标,但我不太确定如何处理调试信息。我自己正在实现一个 PE 作家——所以它不依赖于 ilasm 。从我在 ECMA 文档中看到的内容来看,有 CILDB 调试格式——但它与 PDB 和 Mono 的 MDB 都不同。所以看来,如果我想包含调试信息,无论如何我都需要使用 ilasm 进行编译(并使用 .line 指令)。

但是,即使我确实使用 ilasm 进行编译,在我看来 .line 指令也不足以包含足够的调试信息以实现完整的调试功能 - 例如,调试器如何知道我的目标标识符和局部变量之间的映射? 在我看来,处理这个问题的最好方法是只支持 Mono 的开放调试格式——这将是一个遗憾。

有人有这方面的资源吗?

4

1 回答 1

1

在回答我自己的问题时,我发现 Cecil 在https://github.com/jbevain/cecil/tree/master/symbols上同时拥有 PDB 和 MDB 读取器/写入器。我会移植它们,这似乎是处理它们的好方法。

于 2013-10-22T09:35:03.620 回答