我想在抛出stackoverflow异常时查看调用堆栈。 (即我想指出递归调用导致堆栈溢出的原因)。 调用堆栈被清除,我能看到的只是“外部代码”。
编辑我跟着Chris Schmich的建议(下面的帖子),现在我有一个如下所示的调用堆栈,这只是一个我正在编写的普通控制台应用程序,请注意屏幕截图中没有提到Main() :
Edit2:我遵循Chris Schmich关于查看不同线程调用堆栈的建议,但是我仍然无法查看我的控制台应用程序的调用堆栈,这是我能看到的:
答案 0 :(得分:4)
您看到的[External Code]
框架是因为调试器的Just My Code功能。调试器正在隐藏堆栈帧,因为它们不在您的代码中。有关JMC的一些详细信息,请参阅this blog post。
您可以通过执行以下操作禁用“我的代码”:
您现在应该能够看到所有堆栈帧。
对于JMC的一个例子,当我进入一个启用了JMC的简单C#控制台应用程序时,我只看到我的解决方案中的代码......
...并且在禁用JMC的情况下,我也看到了框架代码......
答案 1 :(得分:0)
选中此处,加载符号段落 Loading Symbols 它们是* .pdb文件,您需要从microsoft下载它们,以便能够看到外部代码。