我知道有四个内存窗口,但我更喜欢在监视窗口中显示单个值,并且我想知道是否可以在监视窗口中指定要监视的内存位置。
仅输入地址会将其转换为十六进制地址。
我知道有四个内存窗口,但我更喜欢在监视窗口中显示单个值,并且我想知道是否可以在监视窗口中指定要监视的内存位置。
仅输入地址会将其转换为十六进制地址。
如果您想要查看特定的内存位置,那么您需要告诉调试器该位置所对应的对象类型。不要仅仅使用 0x00aabbcc
这样的地址,而是使用 (SomeType*)0x00aabbcc
来指定类型。一旦调试器了解了内存位置的类型,它将对其像对待一个有类型的本地变量一样进行处理并相应地显示值。
请查看官方网站answer,该页面提供了与其他答案同样有效的方法。
该页面的“通过内存跟踪指针”部分如下:
在本地代码应用程序中,您可以使用寄存器名称作为实时表达式。例如,您可以使用堆栈指针来跟踪堆栈。
要通过内存跟踪指针
在Memory窗口的Address框中,键入一个指针表达式。指针变量必须在当前范围内。 根据语言的不同,您可能需要对其进行解引用。
按下 ENTER 。现在,当您使用诸如Step之类的执行命令时,显示的内存地址将随着指针的更改而自动更改。
*(int*)(ebp+0ch)
。它将 ebp+0ch 视为 int 指针,然后对其进行解引用。 - Yuval