zoukankan      html  css  js  c++  java
  • ILdasm 的使用

    软中间语言 (MSIL) 是一种语言,是许多编译器(C#、VB.NET等)的输出。ILDasm (中间语言反汇编器)程序和.Net Framework SDK(FrameworkSDK\Bin\ildasm.exe)打包在一起,让用户以人可阅读的格式查看MSIL代码。通过该工具,我们可以打开任何.net可执行文件(exe或dll)并查看其MSIL代码。下边我们来看看怎么使用:

    1.在VS2008中新建一个Windows窗体应用程序,输入如下代码后生成解决方案:


    程序代码
    private void Form1_Load(object sender, EventArgs e)
    {
        int i = 0;
        i = i++;
        MessageBox.Show(i.ToString());
    }


    2.运行ildasm,打开刚生成的exe文件,可以看到如下内容:


    3.在ildasm中双击"Form1_Load: void(object,class [mscorlib]System.EventArgs)"即可看到上边代码的MSIL代码:

    程序代码
    .method private hidebysig instance void Form1_Load(object sender,
                                                        class [mscorlib]System.EventArgs e) cil managed
    {
    // 代码大小       22 (0x16)
    .maxstack 3
    .locals init ([0] int32 i)
    IL_0000: ldc.i4.0
    IL_0001: stloc.0
    IL_0002: ldloc.0
    IL_0003: dup
    IL_0004: ldc.i4.1
    IL_0005: add
    IL_0006: stloc.0
    IL_0007: stloc.0
    IL_0008: ldloca.s   i
    IL_000a: call       instance string [mscorlib]System.Int32::ToString()
    IL_000f: call       valuetype [System.Windows.Forms]System.Windows.Forms.DialogResult [System.Windows.Forms]System.Windows.Forms.MessageBox::Show(string)
    IL_0014: pop
    IL_0015: ret
    } // end of method Form1::Form1_Load


    附:将ildasm集成到VS2008中

    在VS2008菜单中选择"工具→外部工具",点击添加按钮,在标题中输入ILdasm,命令中输入C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\ildasm.exe,确定后在工具菜单中就能找到ILdasm了,以后只要选择它就能运行ILdasm。

  • 相关阅读:
    字在线中
    关于页面显示层叠问题
    左边竖条
    jquery 动态添加元素事件绑定问题
    工作总结
    多文本输入,内容过多时输入框会自动撑开
    lunix常用命令
    springboot整合es availableProcessors is already set to [2], rejecting [2]
    mysql 主从复制架构
    elastic search 第一次安装 报错记录
  • 原文地址:https://www.cnblogs.com/MichaelShang/p/1946193.html
Copyright © 2011-2022 走看看