Visual Studio 2012 - 在调试时查看堆栈中的项目

时间:2013-11-13 16:42:28

标签: visual-studio debugging visual-studio-2012 assembly x86

我正在使用Visual Studio 2012编写程序集,我目前正在使用PUSH / POP指令。

我想知道PUSH指令将值推到堆栈的位置。

我通过找到ESP地址尝试了内存标签,但没有找到任何地址。

可以请某人告诉我是否可以以及如何在调试模式下到达/找到推送值?

谢谢,

1 个答案:

答案 0 :(得分:1)

在Visual Studio中最顶层的工具栏上:

“调试> Windows> CallStack”

请注意,这仅适用于附加到流程的调试程序。

  

[下面的框架可能不正确和/或缺失,没有加载符号   NTDLL.DLL]

MSDN article: Using the Call Stack

该错误消息表明项目没有可用的调试符号。确保您处于调试模式,而不是发布。

此外,如果您使用“debug> attach to process”,请确保.pdb(符号文件)可用。

或者:

确保您的DLL的.PDB文件与您将调试器附加到的进程可执行文件位于同一目录中。

OR

  • 打开调试> Windows>模块
    • 检查符号状态(“无法找到或打开PDB文件”表示未加载)
  • 找到您的DLL
  • 右键单击
  • 选择“从符号路径加载符号”