添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

适用范围: 是 Visual Studio 否 Visual Studio for Mac 否 Visual Studio Code

使用“调用堆栈”窗口可以查看当前堆栈上的函数或过程调用。 “调用堆栈”窗口显示方法和函数被调用的顺序。 调用堆栈是检查和理解应用执行流的好方法。

调试符号 对部分调用堆栈不可用时,“调用堆栈”窗口也许就不能显示那部分调用堆栈的正确信息,而是显示:

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

显示的对话框和菜单命令可能与此处的描述不同,具体取决于你的当前设置或版本。 若要更改设置,请在“工具”菜单上选择“导入和导出设置” 。 请参阅 重置设置 。 “调用堆栈”窗口类似于某些 IDE(如 Eclipse)中的调试透视图 。

在调试器中查看调用堆栈

调试期间,在“调试”菜单中,选择“Windows”>“调用堆栈”或按 ctrl + alt + C

显示调用堆栈窗口的屏幕截图。 一个箭头标识执行指针当前所在的堆栈帧。 默认情况下,该堆栈帧的信息显示在源、“局部变量”、“自动”、“监视”和“反汇编”窗口 。 若要将调试器上下文更改为堆栈上的另一个帧,请 切换到另一个堆栈帧

一个黄色箭头标识执行指针当前所位于的堆栈帧。 默认情况下,该堆栈帧的信息显示在源、“局部变量”、“自动”、“监视”和“反汇编”窗口 。 若要将调试器上下文更改为堆栈上的另一个帧,请 切换到另一个堆栈帧

调试期间还可以查看调用堆栈中的异常堆栈帧。 有关详细信息,请参阅 查看异常帮助程序中的调用堆栈

在“调用堆栈”窗口中显示非用户代码

若要显示外部或非用户代码,请切换“显示外部代码”,右键单击“调用堆栈”窗口并选择“显示外部代码”。

若要显示外部或非用户代码,请切换调用堆栈工具栏中的“显示外部代码”按钮,或者右键单击“调用堆栈”窗口并选择“显示外部代码”。

非用户代码是在启用“ 仅我的代码 ”时未显示的任何代码。 在托管代码中,默认情况下隐藏非用户代码帧。 以下表示法显示为非用户代码帧:

[<External Code>]

切换到另一个堆栈帧(更改调试器上下文)

  • 在“调用堆栈”窗口中,右键单击要查看其代码和数据的堆栈帧。

    也可双击“调用堆栈”窗口中的帧以切换到该帧。

  • 选择“切换到帧”。

    一个带有卷尾的绿色箭头显示在所选堆栈帧旁。 执行指针保留在原始帧中,仍然用黄色箭头标记。 如果从“调试”菜单中选择“单步执行”或“继续”,执行将继续在原始帧中进行,而不是在选定的帧中进行 。

    切换“查看所有线程”按钮,在“并行堆栈”窗口中查看所有相关线程。

    通过在调用堆栈窗口左上角的搜索框中键入相关搜索词,可以搜索相关的调用堆栈帧。 相关的调用堆栈帧将突出显示。

    查看调用堆栈上的函数的源代码

    在“调用堆栈”窗口中,右键单击要查看其源代码的函数,然后选择“转到源代码” 。

    从“调用堆栈”窗口运行到特定函数

    在“调用堆栈”窗口中,右键单击函数名,然后选择“运行到光标处” 。

    在函数调用的退出点上设置断点

    请参阅 在调用堆栈函数处设置断点

    显示与其他线程之间的来回调用

    右键单击“调用堆栈”窗口,然后选择“包括对其他线程和来自其他线程的调用” 。

    直观地跟踪调用堆栈

    在 Visual Studio Enterprise(仅限此版本)中,你可以在调试时查看调用堆栈的代码映射。

    在“调用堆栈”窗口中,打开快捷菜单。 选择“在代码图上显示调用堆栈”(Ctrl + Shift + ) `

    有关详细信息,请参阅 调试时映射调用堆栈上的方法

    查看调用堆栈上的函数的反汇编代码(C#、C++、Visual Basic、F#)

    在“调用堆栈”窗口中,右键单击要查看其反汇编代码的函数,然后选择“转到反汇编” 。

    更改显示的可选信息

    在“调用堆栈”窗口中,右键单击并设置或清除“显示 <你需要的信息 > ”。

    为模块加载符号(C#、C++、Visual Basic、F#)

    在“调用堆栈”窗口中,可以为当前还未加载符号的代码加载调试符号。 这些符号可以是从 Microsoft 公共符号服务器下载的 .NET 符号或系统符号,也可以是正在调试的计算机上的某个符号路径中的符号。

    请参阅 指定符号 (.pdb) 和源文件

  • 在“调用堆栈”窗口中,右键单击尚未为其加载符号的堆栈帧。 此帧将显示为灰色。

  • 指向“加载符号”,然后选择“Microsoft 符号服务器”(如果可用),或浏览到符号路径 。

    设置符号路径

  • 在“调用堆栈”窗口中,从快捷菜单中选择“符号设置” 。

    “选项”对话框随即打开并显示“符号”页 。

  • 选择“符号设置”。

  • 在“选项”对话框中单击“文件夹”图标。

    “符号文件(.pdb)位置”框中随即出现一个光标。

  • 输入所调试的计算机上的符号位置的目录路径名。 对于本地和远程调试,这是本地计算机上的路径。

  • 选择“确定”,关闭“选项”对话框 。

  • “调用堆栈”窗口中的混合代码与丢失信息
  • 查看调试器中的数据
  • 指定符号 (.pdb) 文件和源文件
  •