これまで特定できなかった、本当に奇妙なエラーが発生しました (非常にまれにしか発生しません)。基本的に、終了時に不明な例外をランダムにスローしていた C# アプリケーションがあります。今回はデバッガーでキャッチすることができましたが、呼び出しによって次のメッセージApplication.Exit()
がスローされていることがわかりました。System.InvalidOperationException
タイプ 'System.InvalidOperationException' の初回例外が mscorlib.dll で発生しました
追加情報: コレクションが変更されました。列挙操作が実行されない場合があります。
変更されたとされるこのコレクションが何であるか、またはそれを変更したのは誰なのか、私にはわかりません。
スタック トレースはあまり役に立ちません。
mscorlib.dll!System.Collections.ArrayList.ArrayListEnumeratorSimple.MoveNext() + 0x13f バイト System.Windows.Forms.dll!System.Windows.Forms.Application.ExitInternal() + 0x112 バイト System.Windows.Forms.dll!System. Windows.Forms.Application.Exit(System.ComponentModel.CancelEventArgs e) + 0x65 バイト
どの ArrayList が変更されているかを知る方法はありますか? 私が明示的に行っていることではないと思います。おそらく、MS が予期していなかった操作の途中で、.NET フレームワークの基本的な状態を変更している可能性があります..