ILdasm 的使用
时间:2011-01-27 来源:Michael Shang
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。