5

飲み込む必要がある例外(ロギング中の例外)がありますが、例外情報が時間の霧に完全に失われることを望まないので、少なくともそれを出力してデバッグすることもできます。

Debug.Write(ex.ToString());

そうすれば、必要になった場合、サポートは少なくとも問題のあるマシンでDebugViewを使用できます。

問題は、リリースモードでDebugクラスが削除されることです-リリースモードでデバッグするものを出力するにはどうすればよいですか?

4

2 に答える 2

16

単に使用する

Trace.Write(ex.ToString());

これは、リリースモードと同じように機能しDebug.Write(ex.ToString());ますが、削除されません(プロジェクト設定でTRACE定数の定義を削除しなかった場合)。

于 2009-08-06T09:25:14.483 に答える
2

たぶん、いくつかのロギングフレームワークを調べる価値があるでしょう。さまざまなログレベル(DEBUG、INFO、WARN、ERROR)、さまざまなロガー(アプリケーションの重要な部分ごとに1つのロガーを配置できます)があり、変更するだけでさまざまなロガーにさまざまなデバッグレベルを設定できるlog4netが好きです。構成ファイル。したがって、コードの一部の領域で問題が発生した場合は、そのロガーのDEBUGレベルを設定でき、完了したら元のレベルに戻すことができます。

これは表面を傷つけるだけで、エラー時に電子メールを送信したり、DBにログを記録したりするなど、さらに多くの機能があります。

于 2009-08-06T09:46:43.503 に答える