34

モノラルのILDASMに相当するものはありますか?

4

1 に答える 1

49

はい、monodisはMonoのildasmに相当します。

$ cat a.cs
    パブリッククラスFoo
    {{
        public static void Main()
        {{
            System.Console.WriteLine( "Hello world");
        }
    }

$ monodis a.exe
    .assembly extern mscorlib
    {{
      .ver 1:0:5000:0
      .publickeytoken =(B7 7A 5C 56 19 34 E0 89)// .z\V.4。。
    }
    .assembly'a'
    {{
      .hashアルゴリズム0x00008004
      .ver 0:0:0:0
    }
    .module a.exe // GUID = {034ADE1A-22D2-4B2B-960B-AE9DBFB2FCE7}


      .class public auto ansi beforefieldinit Foo
        [mscorlib]System.Objectを拡張します
      {{

        //メソッド1行目
        .method public hiddenbysig specialname rtspecialname
               インスタンスのデフォルトvoid'.ctor'()cil managed
        {{
            //メソッドはRVA0x20ecから始まります
        //コードサイズ7(0x7)
        .maxstack 8
        IL_0000:ldarg.0
        IL_0001:インスタンスvoidオブジェクトを呼び出します::'。ctor'()
        IL_0006:ret
        }//メソッドFoo::。ctorの終わり

        //メソッド2行目
        .method public static hiddenbysig
               デフォルトのvoidMain()cilが管理します
        {{
            //メソッドはRVA0x20f4から始まります
        。エントリーポイント
        //コードサイズ11(0xb)
        .maxstack 8
        IL_0000:ldstr "Hello world"
        IL_0005:voidクラス[mscorlib] System.Console :: WriteLine(string)を呼び出します
        IL_000a:ret
        }//メソッドFoo::Mainの終了

      }//クラスFooの終わり

于 2009-10-31T22:20:25.227 に答える