c# – 如何在调试器中显示寄存器EAX的值作为对象?
发布时间:2020-12-16 01:37:17 所属栏目:百科 来源:网络整理
导读:我想检查方法的返回值,而不必重新执行方法本身.我相信我唯一的选择是使用反汇编程序.在阅读了对Stackflow问题 Getting a Method’s Return Value in the VS Debugger的回复后,我得出了这个结论. 我认为寄存器EAX中的值是我的返回值.如何在调试器中检查EAX指
我想检查方法的返回值,而不必重新执行方法本身.我相信我唯一的选择是使用反汇编程序.在阅读了对Stackflow问题
Getting a Method’s Return Value in the VS Debugger的回复后,我得出了这个结论.
我认为寄存器EAX中的值是我的返回值.如何在调试器中检查EAX指向的对象?这是我的反汇编退货声明. 30: return SomeString(); 000001bb mov ecx,dword ptr [ebp-3Ch] 000001be call FFF7A320 000001c3 mov dword ptr [ebp-78h],eax 000001c6 mov eax,dword ptr [ebp-78h] 000001c9 mov dword ptr [ebp-4Ch],eax 000001cc nop 000001cd jmp 000001D8 000001cf mov dword ptr [ebp-1Ch],0 000001d6 jmp 000001BA 31: } 000001d8 mov eax,dword ptr [ebp-4Ch] 000001db lea esp,[ebp-0Ch] 000001de pop ebx 000001df pop esi 000001e0 pop edi 000001e1 pop ebp 000001e2 ret 解决方法
从“寄存器”窗口中,选择EAX寄存器值并按Ctrl C.调试Windows内存1.在“地址”文本框中,键入0x,Ctrl V,键入12. 12跳过System.Object标头.如果它包含ASCII字符,则在右侧读取它应该没什么问题,忽略空值.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |