【发布时间】:2012-04-18 21:32:58
【问题描述】:
是的,我知道有四个内存窗口,但我更喜欢在监视窗口中显示单个值,我想知道是否可以在监视窗口中指定要监视的内存位置。
单独放置地址只会计算为十六进制地址。
【问题讨论】:
标签: visual-studio visual-studio-2010 debugging visual-studio-debugging
是的,我知道有四个内存窗口,但我更喜欢在监视窗口中显示单个值,我想知道是否可以在监视窗口中指定要监视的内存位置。
单独放置地址只会计算为十六进制地址。
【问题讨论】:
标签: visual-studio visual-studio-2010 debugging visual-studio-debugging
如果你想观察一个特定的内存位置,那么你需要告诉调试器这个位置的对象的类型。而不仅仅是0x00aabbcc 使用(SomeType*)0x00aabbcc。一旦调试器知道内存位置的类型,它将把它当作一个类型化的本地并相应地显示值
【讨论】:
查看官方网站answer,它的工作原理与此问题的其他答案一样有效:)。 在该页面上,“通过内存跟踪指针”部分说:
在本机代码应用程序中,您可以将寄存器名称用作实时 表达式。例如,您可以使用堆栈指针跟随 堆栈。
跟随指针穿过内存
在 内存 窗口 地址 框中,键入指针表达式。指针变量必须在当前范围内。 根据语言,您可能需要取消引用它。
按 ENTER。现在,当你使用Step等执行命令时,显示的内存地址会随着指针的变化而自动变化。
【讨论】:
*(int*)(ebp+0ch)。它将 ebp+0ch 视为指向 int 的指针,然后取消引用它。