デバッグ時にWPFの非常に厄介な例外ラッピングを無効にする方法はありますか?デバッグ用のWPF例外ラッピングを無効にする
例は、テキストボックスを所有するウィンドウで、テキストボックスはプロパティにバインドされています。そのプロパティのゲッターは、プレゼンテーションフレームワークで処理できない例外をスローします(for new StackOverflowException()for例)。
この例外はまた時々キャッチしてから派遣されたWPFの例外ラッピングので私は何を見てする必要があるんだが...私が見ているものを
No Source Available
Call Stack Location:
PresentationFramework.dll!MS.Internal.Data.PropertyPathWorker.RawValue(int k) + 0x64 bytes
代わり
get
{
throw new StackOverflowException(); // < Exception happened here
}
されていますMS内部で深く隠されているか、隠されているか、または実際の例外サイトに戻ることは不可能です。これにより、PresentationFramework.dll、PresentationCore.dll、およびWindowsBase.dllの巨大な呼び出しスタックが表示されますが、App.Main()を除くユーザーコードはありません。
これは、バインディング、作成中に呼び出されたイベント、および韻や理由のない完全にランダムな状況で発生します(ボタンのクリック時に例外が発生することがあります)。今、はい私は例外の中でスタックトレースを見ることができますが、スタックトレースもかなり無意味です。なぜなら、そのフレームに戻ってスロー時の変数を確認することができないからです。
+1。私はこれを常に見ています。ウィンドウのコンストラクタが例外をスローすると、実際のエラーの内容を調べるために、2つのレベルのInnerExceptionsを調べなければなりません。 –