質問

例外アシスタントダイアログボックスが表示される未処理の例外があります。

表示の詳細をクリックすると...例外自体には、プロパティグリッドでは評価されないカスタムオブジェクトモデルにいくつかの値がありますが、すぐにウィンドウで評価できることはわかっています。 (この場合、プロパティグリッドはコレクションにドリルダウンすることはできませんが、他のケースがあります)

トライブロックを追加するためにコードを変更せずに, 、どうすればすぐにウィンドウに移動して、ハンディングされていない例外に関する表現を評価できますか?

答えはおそらく私がまだ知らない魔法です。

何かを含む何か System.Diagnostics.StackFrame または誰が知っている。何か賢い。

デバッガースレッドを使用してナビゲートする方法がありますが、それは非常に複雑です。あなたがそれを取り、解決策かもしれないラッパーでそれをシンプルにすることができるなら。

役に立ちましたか?

解決

ユーザーが未処理のときではなく、例外がスローされたときにデバッガーを設定して破損しましたか?

これを行うには、vs2010メインメニューに移動し、「デバッグ」メニューを選択します。次の「例外」を選択してください...」

次のようなダイアログが表示されます。Debug - loading= Exceptions.. menu">

スローされた列を選択します

これで、例外がスローされ、すぐにウィンドウでローカル変数を評価できるはずです。

ローカルズ]タブでは、$ EXCUPTION変数が表示されます。Local variables contains $exception

即時ウィンドウで「$ Exception」変数を使用できます。Immediate Window accessing $exception

アップデート: また、例外処理を簡単に切り替えるには、 例外ブレーカービジュアルスタジオ拡張機能, これにより、デバッグメニューにドリルする代わりに、ツールバーのオンとオフの例外をブレークで切り替えることができます。

他のヒント

Visual Studio 2010については知りませんが、Visual Studio 2012では、未解決の例外が発生したときに表示されています。 Locals 名前のウィンドウ $exception.

プロパティグリッドで評価されないプロパティがあります

プロパティを評価できない場合、デバッガーはあなたを助けません あなたが見たように;したがって、すぐにウィンドウが同じことをします。

VS2010で例外を投げかけ、それを評価しようとしたときにデバッガーがクラッシュするように、私は無効なプロパティを持っていました。プロパティから返されるヌルは、デバッガーにとって良くありませんでした。

行くことをお勧めします old school 問題について trace.write プロパティ内およびその他の場所で、代わりに出力ウィンドウの書き込みレポートを監視します。

ビジュアルC#でトレースしてデバッグする方法

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top