0

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

我想知道PUSH指令推入堆栈的值在哪里。

我已经通过定位ESP地址尝试了内存选项卡,但在那里没有找到任何东西。

请有人告诉它是否可能以及如何在调试模式下达到/定位推送的值?

谢谢,

盖伊

4

1 回答 1

1

On the topmost toolbar in Visual Studio:

"Debug > Windows > CallStack"

Note that this is only available with the debugger attached to a process.

[Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll]

MSDN article: Using the Call Stack.

That error message indicates there are no debug symbols available for the project to use. Make sure that you are in debug mode, not release.

Also if you are using "debug > attach to process" make sure the .pdb (symbol files) are available.

Either:

make sure the .PDB files for your DLLs are in the same directory as the process executable that you are attaching the debugger to.

OR

  • open Debug > Windows > Modules
    • Check Symbol Status ("Cannot find or open PDB file" means they aren't loaded)
  • Locate your DLL
  • Right click it and
  • select "Load Symbols From > Symbol Path"
于 2013-11-13T16:44:51.980 回答