C#コードがあり、ソースC#exeアセンブリの逆アセンブルを行うときに、CIL(* .il)にカスタムコメントを含める必要があります。
どうすればそれを達成できますか?
アセンブルされたILオペコードにはコメントが含まれていないため、逆アセンブルしてコメントを取得することはできません。基本的にこれはできません。ILソースを共有するか、生のILソースに対してpdbが可能かどうかを調査します。
「コメント」オペコードはありません。
を使用して任意のILオペコードを書き出すことができますILGenerator.Emit
が、コメントを挿入するためのサポートはないと思います。
デバッグ目的でこれを実行したい場合(たとえば、検索を容易にするため)、説明的な名前の未使用の変数をいつでも追加できます。例えば:
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