C#のVisual Studio 2015では、プログラムをデバッグします。デバッガはどこかに一時停止し、System.StackOverflowException
が発生します。`System.StackOverflowException`が発生したときに一番外側のスタックを見つける方法は?
型「System.StackOverflowException」の未処理の例外がmscorlib.dll
で発生したことが起こっている無限の再帰があることを意味します。
最初にどのメソッドが呼び出されたかを調べてから例外が発生するので、コールスタックウィンドウを参照していますが、最もスタックが多くコールスタックウィンドウから切り捨てられています:
...
のVisual Studio でサポートされているスタックフレームの最大数を超えています。
System.StackOverflowException
が発生したときに、アウトほとんどを見つけるためにいくつかの方法がスタックありますか?System.StackOverflowException
が発生する前にスタックフレームの最大数を制限する方法はありますか?そのため、すべてのスタックフレームをコールスタックウィンドウに表示できますか?
ありがとう。
初めて、私はStackoverflow例外に直面したときに常にコールスタックを調べることができる、その2番目のメッセージを参照してください。 –
コールサイクルがどこにあるのかを確認してそこから作業するのにスタックが十分に見えませんか? – Chris
[ETWをトレースしてException raisingをトレースする](https://stackoverflow.com/a/30289933/1466046)を使用すると、例外が発生したときのスタックが表示されます。 WPRと私のプロファイルを使用してデータをキャプチャし、WPAでETLを分析する – magicandre1981