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

211

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

7个回答

299

在调试时,进入调试 -> 窗口 -> 调用堆栈


4
在VS 2013中,调用堆栈从来没有显示过有用的信息。如果它可以显示抛出未处理异常对象的调用者,那将是很好的。是否有隐藏选项可以使其变得有用?也许您可以举例扩展您的答案。 - James
2
喜欢其他类似帖子中的每个人都完全忽略了答案中最重要的部分。 - AvetisCodes
很好,谢谢!这甚至可以在运行VS CE 2015 + IE9并调试IE9的JavaScript堆栈跟踪时使用! - Alexey Volodko

140
在调试时,以及当你遇到一个断点时。 按下CTRL+ALT+C

enter image description here


20
点赞这张图片 =D (我喜欢当有人强制要求截屏) - Michel Ayres

40

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


17
重要的是要注意,您必须处于“调试”模式才能看到调用堆栈窗口。 - dss539
1
@dss539 我认为你已经连接了一个调试器,它可以调试或发布构建。此外,重要的是你加载了足够的符号来进行调试会话,否则你将得到误导性/垃圾调用堆栈。 - Chris O
@ChrisO -- 是的,我的意思是Visual Studio应该处于“调试”状态。抱歉,我可以理解我的原始措辞可能会引起误解。 - dss539

16

你是指查找 抛出异常位置的堆栈跟踪 吗? 这要么是 Debug/Exceptions,要么更好的方法是 Ctrl-Alt-E。 设置要中断的异常筛选器。

甚至有一种方法可以在捕获异常后重建抛出者的堆栈,但这真的很 棘手。 设置一个断点来抛出异常要简单得多。


6

3

这似乎非常奇怪。有没有人知道在1507版本及更高版本中有其他方法来完成这个功能?这个特性非常有帮助... - nimble_ninja

1

对于Visual Studio 2019,在调试并停在断点时的快捷键是:(while debugging and stopped at a breakpoint)

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

此截图相当老旧。 这里是Visual Studio 2019的一个(在调试菜单下):

Visual Studio 2019 Call Stack Menu Option


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接