Mono 是否有与 ILDASM 相当的功能?

发布于 2024-08-09 18:54:01 字数 26 浏览 3 评论 0原文

Mono 有等效的 ILDASM 吗?

Is there an equivalent of ILDASM for Mono?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

浅紫色的梦幻 2024-08-16 18:54:01

是的,monodis 是 Mono 的 ildasm 等效项。

$ cat a.cs
    public class 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 algorithm 0x00008004
      .ver  0:0:0:0
    }
    .module a.exe // GUID = {034ADE1A-22D2-4B2B-960B-AE9DBFB2FCE7}


      .class public auto ansi beforefieldinit Foo
        extends [mscorlib]System.Object
      {

        // method line 1
        .method public hidebysig  specialname  rtspecialname 
               instance default void '.ctor' ()  cil managed 
        {
            // Method begins at RVA 0x20ec
        // Code size 7 (0x7)
        .maxstack 8
        IL_0000:  ldarg.0 
        IL_0001:  call instance void object::'.ctor'()
        IL_0006:  ret 
        } // end of method Foo::.ctor

        // method line 2
        .method public static  hidebysig 
               default void Main ()  cil managed 
        {
            // Method begins at RVA 0x20f4
        .entrypoint
        // Code size 11 (0xb)
        .maxstack 8
        IL_0000:  ldstr "Hello world"
        IL_0005:  call void class [mscorlib]System.Console::WriteLine(string)
        IL_000a:  ret 
        } // end of method Foo::Main

      } // end of class Foo

Yes, monodis is Mono's equivalent for ildasm.

$ cat a.cs
    public class 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 algorithm 0x00008004
      .ver  0:0:0:0
    }
    .module a.exe // GUID = {034ADE1A-22D2-4B2B-960B-AE9DBFB2FCE7}


      .class public auto ansi beforefieldinit Foo
        extends [mscorlib]System.Object
      {

        // method line 1
        .method public hidebysig  specialname  rtspecialname 
               instance default void '.ctor' ()  cil managed 
        {
            // Method begins at RVA 0x20ec
        // Code size 7 (0x7)
        .maxstack 8
        IL_0000:  ldarg.0 
        IL_0001:  call instance void object::'.ctor'()
        IL_0006:  ret 
        } // end of method Foo::.ctor

        // method line 2
        .method public static  hidebysig 
               default void Main ()  cil managed 
        {
            // Method begins at RVA 0x20f4
        .entrypoint
        // Code size 11 (0xb)
        .maxstack 8
        IL_0000:  ldstr "Hello world"
        IL_0005:  call void class [mscorlib]System.Console::WriteLine(string)
        IL_000a:  ret 
        } // end of method Foo::Main

      } // end of class Foo

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文