捕获用户PC上的StackOverflow异常信息

时间:2009-08-11 07:33:11

标签: c#

在用户PC上的Winforms应用程序(.NET v2)中发生StackOverflow异常。我的应用程序没有捕获此异常,这是.NET文档所期望的。

如何获得有用的信息来尝试解决这个问题 - 首先找出造成这种情况的方法会很好 - 是否可以捕获堆栈跟踪?

2 个答案:

答案 0 :(得分:2)

您的代码可能会捕获StackOverflowException,但运行时会自动重新抛出它,因此最终结果是进程终止。

除非你正在做一些重度递归,否则StackOverflowException通常是一个bug的标志。如果您正在进行大量递归并需要更多堆栈空间来处理它,您可以通过更改可执行文件的PE头或使用构造函数重载创建新线程来设置更大的堆栈大小,该重载将堆栈空间作为参数。

答案 1 :(得分:1)

我认为以下帖子会有所帮助。

Why ExecuteCodeWithGuaranteedCleanup doesn’t work?