加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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字符,则在右侧读取它应该没什么问题,忽略空值.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读