Skip to content

RUNUO服务器分析心得 第二章——基于IL代码的调试

RUNUO服务器分析心得 第二章——基于IL代码的调试 published on RUNUO服务器分析心得 第二章——基于IL代码的调试有79条评论

        首先用上次反编译的代码生成需要调试的EXE文件,当然因为要做调试,所以必须要用DEBUG模式来生成EXE,DEBUG模式生成的EXE文件要比原来的大一些,而且同时还会生成一个.pdb文件。还是在.NET命令环境下键入如下命令:ilasm runuo.il /resource:runuo.res /debug OK,看看目录下是不是多了一个runuo.pdb文件?而且runuo.exe的大小变成了436 KB (446,464 字节)。

好了,下面准备好CLR调试器,CLR调试器的位置在.NET Framework SDK目录下\v1.1\GuiDebug\目录里,名字叫DbgCLR.exe,它是一个图形界面的帮助开发者调试的程序。现在打开它,然后载入,我们最早反编译出的runuo.il文件,如下图:

o_clrdebug

        然后选择 调试->要调试的程序 弹出一个对话框,在里面填好类容,如下图:

o_debug dlg

        确定后,你会发现在CLR调试器里的那个代表调试开始的那个深蓝色三角形箭头可以用了。

        接下来,在il代码里,找到Main函数位置,在里面代码开始处打上断点,然后运行调试,看是断点是否命中,如果成功回出现下面的界面:

o_main stop

        注意,断点一定要打在IL_XXXX的地方,其他地方有可能不能命中喔。如果不能命中,请检查一下前几步是不是出了什么问题。好了,将在下章进入MAIN函数分析IL代码。

本站作品除特殊申明外均为原创,采用知识共享署名-非商业性使用-禁止演绎 3.0 Unported许可协议进行许可。如果需转载请保持文章完整性和标明原文出处,禁止商业用途。

  1. Pingback: Alex

  2. Pingback: Melvin

  3. Pingback: Gerald

  4. Pingback: Ricky

  5. Pingback: Julius

  6. Pingback: Jimmie

  7. Pingback: Matt

  8. Pingback: raymond

  9. Pingback: Raymond