尝试在 Visual Studio 中的反汇编代码中引发 Null 异常
Attempt to raise Null exception in disassembled code in Visual Studio
我有一个 .NET 3.5 反汇编代码,我试图引发 NullReferenceException,以尝试模仿我在某些转储中看到的行为。
例如,我可以看到如下命令:
mov byte ptr [rdi],0
我假设通过设置 rdi<-0
,我可以导致对地址 0x0 的取消引用。
但是,我无法编辑任何寄存器值。
在 MSDN 中,他们声称 'Registers' window 有权编辑寄存器:
https://msdn.microsoft.com/en-us/library/9dfstwbe.aspx
但这对 Visual Studio 2012 年的我不起作用。
任何帮助或其他解决方法?
只有在调试 C/C++ 代码时才有可能。在混合解决方案 C# + C++ 上测试它,C# 端它是只读的,C++ 端我可以覆盖文本(注意 window "appearance" 不会改变......它总是像记事本)
在调试C/C++应用时,你甚至可以在手表window中写EAX
(或eax
,不区分大小写)和你可以从那里编辑它。
我有一个 .NET 3.5 反汇编代码,我试图引发 NullReferenceException,以尝试模仿我在某些转储中看到的行为。
例如,我可以看到如下命令:
mov byte ptr [rdi],0
我假设通过设置 rdi<-0
,我可以导致对地址 0x0 的取消引用。
但是,我无法编辑任何寄存器值。
在 MSDN 中,他们声称 'Registers' window 有权编辑寄存器:
https://msdn.microsoft.com/en-us/library/9dfstwbe.aspx
但这对 Visual Studio 2012 年的我不起作用。
任何帮助或其他解决方法?
只有在调试 C/C++ 代码时才有可能。在混合解决方案 C# + C++ 上测试它,C# 端它是只读的,C++ 端我可以覆盖文本(注意 window "appearance" 不会改变......它总是像记事本)
在调试C/C++应用时,你甚至可以在手表window中写EAX
(或eax
,不区分大小写)和你可以从那里编辑它。