如何在 Visual Studio 中找到堆栈跟踪?

Posted

技术标签:

【中文标题】如何在 Visual Studio 中找到堆栈跟踪?【英文标题】:How do I find the stack trace in Visual Studio? 【发布时间】:2010-10-31 00:28:12 【问题描述】:

我问是因为我在调试发生的异常时在 Visual Studio 中找不到堆栈跟踪。

【问题讨论】:

【参考方案1】:

对于 Visual Studio 2019,快捷方式(调试时停在断点处)为:

Ctrl+Alt+C 现在你也可以使用Ctrl+L kbd>

截图很老了。 这是 Visual Studio 2019 的一个(在调试菜单下):

【讨论】:

【参考方案2】:

调试时遇到断点时

CTRL+ALT+C

【讨论】:

图片+1 =D(我喜欢有人强制截图)【参考方案3】:

将此视为当前更新(Windows 10(版本 1803)和 Visual Studio 2017): 我无法查看堆栈跟踪窗口,但确实找到了一个选项/菜单项来查看它。进一步调查后,似乎此功能在 Windows 10 上不可用。有关详细信息,请参阅:

https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/viewing-the-call-stack-in-visual-studio

从上面的链接复制: “此功能在 Windows 10 版本 1507 和更高版本的 WDK 中不可用。”

【讨论】:

这看起来很奇怪。有没有人知道在 1507 版及更高版本中执行此操作的替代方法?这个功能非常有用...【参考方案4】:

调试时,转到调试 -> Windows -> 调用堆栈

【讨论】:

VS 2013 中的调用堆栈从不显示任何有用的东西。显示抛出未处理异常的对象的调用者会很好。是否有隐藏选项使其有用?也许您可以扩展您的答案以提供示例。 喜欢其他与此类似的线程中的其他人完全错过了答案中最重要的部分。 很好,谢谢!这甚至可以在运行 VS CE 2015 + IE9 和调试 IE9 的 javascript 堆栈跟踪时工作!【参考方案5】:

使用调用堆栈窗口

要在 Visual Studio 中打开调用堆栈窗口,请从调试菜单中选择 Windows>调用堆栈。要将本地上下文设置为堆栈跟踪显示中的特定行,请双击该行的第一列。

http://msdn.microsoft.com/en-us/library/windows/hardware/hh439516(v=vs.85).aspx

【讨论】:

【参考方案6】:

您的意思是找到抛出的异常位置的堆栈跟踪吗?那是调试/异常,或者更好 - Ctrl-Alt-E。为要中断的异常设置过滤器。

甚至还有一种方法可以在异常被捕获之后重建抛出者堆栈,但实际上是unpleasant。在投球时设置休息时间要容易得多。

【讨论】:

【参考方案7】:

默认快捷键是 Ctrl-Alt-C。

【讨论】:

请务必注意,您必须处于“调试”模式才能看到调用堆栈窗口。 @dss539 我想你有一个调试器attached,它可以调试或发布构建。为调试会话加载足够的 符号 也很重要,否则你会得到误导/垃圾调用堆栈。 @ChrisO -- 是的,我的意思是 Visual Studio 应该处于“调试”状态。抱歉,我可以看出我原来的措辞是如何留下误解的余地的。

以上是关于如何在 Visual Studio 中找到堆栈跟踪?的主要内容,如果未能解决你的问题,请参考以下文章

如何设置 Visual Studio 以显示第一次机会异常的堆栈跟踪?

VS2015--在 Visual Studio 中调试时映射调用堆栈上的方法

如何在 Visual Studio 2017 中启用 TFS 跟踪

XCode 是不是有类似 Visual Studio 的光标导航堆栈?

如何仅使用键盘在 Visual Studio 中导航调用堆栈?

使用 Visual Studio 确定堆栈空间