在我的Winforms應用程序(.NET v2)中發生的用戶PC上出現StackOverflow異常。這個異常沒有被我的應用程序捕獲,這是.NET文檔中的預期。捕獲StackOverflow用戶PC上的異常信息
我該如何獲得有用的信息來嘗試解決這個問題 - 首先找到引起此問題的方法是很好的 - 是否可以捕獲堆棧跟蹤?
在我的Winforms應用程序(.NET v2)中發生的用戶PC上出現StackOverflow異常。這個異常沒有被我的應用程序捕獲,這是.NET文檔中的預期。捕獲StackOverflow用戶PC上的異常信息
我該如何獲得有用的信息來嘗試解決這個問題 - 首先找到引起此問題的方法是很好的 - 是否可以捕獲堆棧跟蹤?
的StackOverflowException可以通過您的代碼捕獲,但運行時會自動重新拋出它,所以最終的結果是,該進程被終止。
除非你正在做一些沉重的遞歸,StackOverflowException通常是一個錯誤的跡象。如果您正在進行大量遞歸併需要更多堆棧空間來處理它,您可以通過更改可執行文件的PE標頭或通過使用以堆棧空間作爲參數的構造函數重載創建新線程來設置更大的堆棧大小。
我認爲以下文章將有所幫助。
上述鏈接中的有用資訊 – 2010-02-13 13:57:21