我有一个C#代码,当我反汇编一个源C#可执行程序集时,我希望CIL (*.il)包含我的自定义注释。
我该如何实现它?
发布于 2012-10-13 19:07:14
汇编的IL操作码不包含注释,因此不能反汇编和提取注释。基本上,你不能这样做。共享IL源,或者调查原始IL源的pdb是否可能。
没有"comment“操作码。
发布于 2012-10-13 18:08:14
您可以使用ILGenerator.Emit编写任意的IL操作代码,但我不认为有任何对注入注释的支持。
如果你只是为了调试目的而这样做(例如,为了使搜索更容易),你总是可以添加一个带有描述性名称的未使用的变量。例如:
void Main()
{
var a = new A();
}
class A
{
bool this_is_a_comment = false;
}收益率
IL_0001: newobj UserQuery+A..ctor
IL_0006: stloc.0
A..ctor:
IL_0000: ldarg.0
IL_0001: ldc.i4.0
IL_0002: stfld UserQuery+A.this_is_a_comment
IL_0007: ldarg.0
IL_0008: call System.Object..ctor
IL_000D: nop
IL_000E: ret https://stackoverflow.com/questions/12871747
复制相似问题