我想在抛出 stackoverflow 异常时查看调用堆栈。 (即我想查明是什么递归调用导致了堆栈溢出)。
调用堆栈已清除,我只能看到“外部代码”。
编辑我遵循了 Chris Schmich 的建议(下面发布),现在我有一个如下所示的调用堆栈,这只是我正在编写的一个普通控制台应用程序,请注意,屏幕截图中没有提及 Main() :
Edit2:我遵循 Chris Schmich 关于查看不同线程调用堆栈的建议,但是我似乎仍然无法查看我的控制台应用程序的调用堆栈,这是我可以看到的:
The [External Code]
您看到的框架是因为调试器的“仅我的代码”功能。调试器向您隐藏堆栈帧,因为它们不在您的代码中。有关 JMC 的一些详细信息可以在这篇博文 https://web.archive.org/web/20140423135248/http://blogs.msdn.com/b/greggm/archive/2004/07/29/201315.aspx.
您可以通过执行以下操作来禁用“仅我的代码”:
- 调试 » 选项和设置... » 取消选中“仅启用我的代码(仅限托管)” » 单击“确定”
您现在应该能够看到所有堆栈帧。
对于 JMC 的示例,当我进入启用了 JMC 的简单 C# 控制台应用程序时,我只看到解决方案中的代码...
...并且在禁用 JMC 的情况下,我也看到了框架代码...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)