如何使用Mono.Cecil获取IL指令的源/行号

Fil*_*ącz 9 c# symbols mono.cecil pdb

我正在使用Mono.Cecil编写一个简单的实用程序,用于查找.NET程序集中的类型/方法用法(例如,在枚举上调用ToString).

我能够找到该方法,但向用户显示源/行信息会很酷.Mono.Cecil有可能吗?

Jb *_*ain 16

有可能的.首先,您应该阅读Mono.Cecil wiki中有关调试符号的指南.

确保在Mono.Cecil.dll附近有Mono.Cecil.Pdb.dll,设置ReaderParameters以读取指南中指示的符号,然后,在pdb文件中具有序列点的指令将使其SequencePoint属性为非null ,提供行信息.保存源文件名称的Document属性SequencePoint.