我如何在visual studio 2013上查看Stack内容(而非堆栈调用)?
查看ESP指向和下方的位置。在char。上显示内容。
感谢您的帮助。
答案 0 :(得分:8)
您可以转到Debug>来执行此操作。 Windows>注册,获取ESP的位置,然后在Debug>中输入此地址。 Windows>记忆窗口。但是,这只会给你原始记忆。
正如OwenWengerd在评论中指出的那样,如果你正在调试本机代码,你可以在地址字段中输入ESP。出于某种原因,这不适用于托管代码。
答案 1 :(得分:1)
另一个答案对于32位代码是正确的,但是对于64位代码它只是“半正确”。
如果您确实想查看 esp 处的内存,则可以在“内存”调试窗口的“地址”输入框中输入 esp 。
但是,这可能不是您想要的64位代码。堆栈位于 rsp 而不是 esp 。
如果在“内存”调试窗口的“地址输入”文本框中输入 rsp ,则将看到堆栈内存。如果在“地址”输入文本框中输入 esp ,则会在( rsp &0x00000000ffffffff)处看到内存,这可能不是您想要的。
答案 2 :(得分:0)
您可以重新创建一些较旧的 DOS 调试器,例如 Turbo Debug,并带有一个排列好的内存窗格:
如果在程序集级别调试并逐步执行一些 PUSH 和 POP,您应该看到内存窗格保持同步。
注意:这是用 x86 或 amd64 架构编写的,这不是 VS 唯一支持的架构。如果您使用的是另一种架构,请根据您的 CPU 自己的具体情况调整您读取的内容,即打开寄存器窗格以查找您自己的堆栈指针寄存器名称。