sosex !muf查看方法的反汇编代码
2012-09-22 21:35
183 查看
在使用sosex调试时,如果想查看某一个方法的反汇编代码时,可以使用命令!muf,只需提供方法地址,如:
0:029> !muf 000007ff001b064bWebApplication1._Default.Go(int, string): void tmp:int 000007ff`001b05d0 4c89442418 mov qword ptr [rsp+18h],r8 000007ff`001b05d5 89542410 mov dword ptr [rsp+10h],edx 000007ff`001b05d9 48894c2408 mov qword ptr [rsp+8],rcx 000007ff`001b05de 53 push rbx 000007ff`001b05df 4883ec30 sub rsp,30h 000007ff`001b05e3 c744242000000000 mov dword ptr [rsp+20h],0 000007ff`001b05eb 48b8988e1700ff070000 mov rax,7FF00178E98h 000007ff`001b05f5 8b00 mov eax,dword ptr [rax] 000007ff`001b05f7 85c0 test eax,eax 000007ff`001b05f9 7405 je 000007ff`001b0600 000007ff`001b05fb e8c0f4c1f1 call mscorwks!CorMarkThreadInThreadPool+0x3f30 (000007fe`f1dcfac0){ IL_0000: nop 000007ff`001b0600 90 nopint tmp = a; IL_0001: ldarg.1 (b) IL_0002: stloc.0 (tmp) 000007ff`001b0601 8b442448 mov eax,dword ptr [rsp+48h] 000007ff`001b0605 89442420 mov dword ptr [rsp+20h],eaxthrow new System.NullReferenceException("hello"); IL_0003: ldstr "hello" IL_0008: newobj System.NullReferenceException::.ctor 000007ff`001b0609 48ba988b1700ff070000 mov rdx,7FF00178B98h 000007ff`001b0613 b90d000070 mov ecx,7000000Dh 000007ff`001b0618 e8f3a8d7f1 call mscorwks!PreBindAssembly+0x5a5d0 (000007fe`f1f2af10) 000007ff`001b061d 488bd8 mov rbx,rax 000007ff`001b0620 48b978302bf0fe070000 mov rcx,offset mscorlib_ni+0x453078 (000007fe`f02b3078) 000007ff`001b062a e8c1e19bf1 call mscorwks!IEE+0xbfa4 (000007fe`f1b6e7f0) 000007ff`001b062f 4889442428 mov qword ptr [rsp+28h],rax 000007ff`001b0634 488bd3 mov rdx,rbx 000007ff`001b0637 488b4c2428 mov rcx,qword ptr [rsp+28h] 000007ff`001b063c e87ff962f0 call mscorlib_ni+0x97ffc0 (000007fe`f07dffc0) IL_000d: throw 000007ff`001b0641 488b4c2428 mov rcx,qword ptr [rsp+28h] 000007ff`001b0646 e8952be0f1 call mscorwks!CorLaunchApplication+0xed60 (000007fe`f1fb31e0) 000007ff`001b0641 488b4c2428 mov rcx,qword ptr [rsp+28h] 000007ff`001b0646 e8952be0f1 call mscorwks!CorLaunchApplication+0xed60 (000007fe`f1fb31e0)
0:029> !muf 000007ff001b064bWebApplication1._Default.Go(int, string): void tmp:int 000007ff`001b05d0 4c89442418 mov qword ptr [rsp+18h],r8 000007ff`001b05d5 89542410 mov dword ptr [rsp+10h],edx 000007ff`001b05d9 48894c2408 mov qword ptr [rsp+8],rcx 000007ff`001b05de 53 push rbx 000007ff`001b05df 4883ec30 sub rsp,30h 000007ff`001b05e3 c744242000000000 mov dword ptr [rsp+20h],0 000007ff`001b05eb 48b8988e1700ff070000 mov rax,7FF00178E98h 000007ff`001b05f5 8b00 mov eax,dword ptr [rax] 000007ff`001b05f7 85c0 test eax,eax 000007ff`001b05f9 7405 je 000007ff`001b0600 000007ff`001b05fb e8c0f4c1f1 call mscorwks!CorMarkThreadInThreadPool+0x3f30 (000007fe`f1dcfac0){ IL_0000: nop 000007ff`001b0600 90 nopint tmp = a; IL_0001: ldarg.1 (b) IL_0002: stloc.0 (tmp) 000007ff`001b0601 8b442448 mov eax,dword ptr [rsp+48h] 000007ff`001b0605 89442420 mov dword ptr [rsp+20h],eaxthrow new System.NullReferenceException("hello"); IL_0003: ldstr "hello" IL_0008: newobj System.NullReferenceException::.ctor 000007ff`001b0609 48ba988b1700ff070000 mov rdx,7FF00178B98h 000007ff`001b0613 b90d000070 mov ecx,7000000Dh 000007ff`001b0618 e8f3a8d7f1 call mscorwks!PreBindAssembly+0x5a5d0 (000007fe`f1f2af10) 000007ff`001b061d 488bd8 mov rbx,rax 000007ff`001b0620 48b978302bf0fe070000 mov rcx,offset mscorlib_ni+0x453078 (000007fe`f02b3078) 000007ff`001b062a e8c1e19bf1 call mscorwks!IEE+0xbfa4 (000007fe`f1b6e7f0) 000007ff`001b062f 4889442428 mov qword ptr [rsp+28h],rax 000007ff`001b0634 488bd3 mov rdx,rbx 000007ff`001b0637 488b4c2428 mov rcx,qword ptr [rsp+28h] 000007ff`001b063c e87ff962f0 call mscorlib_ni+0x97ffc0 (000007fe`f07dffc0) IL_000d: throw 000007ff`001b0641 488b4c2428 mov rcx,qword ptr [rsp+28h] 000007ff`001b0646 e8952be0f1 call mscorwks!CorLaunchApplication+0xed60 (000007fe`f1fb31e0) 000007ff`001b0641 488b4c2428 mov rcx,qword ptr [rsp+28h] 000007ff`001b0646 e8952be0f1 call mscorwks!CorLaunchApplication+0xed60 (000007fe`f1fb31e0)
相关文章推荐
- 浅析VS2010反汇编 VS 反汇编方法及常用汇编指令介绍 VS2015使用技巧 调试-反汇编 查看C语言代码对应的汇编代码
- VC6.0和VS2005查看查看C或者C++文件汇编代码的方法
- 为查看代码和编辑代码而导入工程后导致各种问题解决方法
- 关于通过反汇编查看dll的方法【转】(
- JS禁止查看网页源代码的实现方法
- js调试工具console.log()方法查看js代码的执行情况
- 让sourceinsight支持查看makefile、kconfig以及.s代码的方法
- 每天一个反汇编,我就强力了---用vs查看汇编代码
- 让sourceinsight支持查看makefile、kconfig以及.s代码方法
- 在代码中解决 android 视频 音频 上传到sdcard中 但是在多媒体中心 或者目录下面查看不到的方法
- js调试工具console.log()方法查看js代码的执行情况
- git查看提交历史并进行代码回退的方法
- PHP安装与使用VLD查看opcode代码【PHP安装第三方扩展的方法】
- 20150812-IAR平台查看代码量的方法
- easyUI_执行tab窗口中的方法,sources源码中查看不到js代码
- 在VB.NET中 用代码 利用SQL语句创建数据库、表、存储过程、视图、索引、规则、修改表、查看数据等的方法
- 查看代码是否运行在一个我们期望的进程上下文中的方法
- PHP安装与使用VLD查看opcode代码【PHP安装第三方扩展的方法】
- 让sourceinsight支持查看makefile、kconfig以及.s代码方法
- 如何查看JAVA类库中的类的方法的具体实现代码