飲み込む必要がある例外(ロギング中の例外)がありますが、例外情報が時間の霧に完全に失われることを望まないので、少なくともそれを出力してデバッグすることもできます。
Debug.Write(ex.ToString());
そうすれば、必要になった場合、サポートは少なくとも問題のあるマシンでDebugViewを使用できます。
問題は、リリースモードでDebugクラスが削除されることです-リリースモードでデバッグするものを出力するにはどうすればよいですか?
飲み込む必要がある例外(ロギング中の例外)がありますが、例外情報が時間の霧に完全に失われることを望まないので、少なくともそれを出力してデバッグすることもできます。
Debug.Write(ex.ToString());
そうすれば、必要になった場合、サポートは少なくとも問題のあるマシンでDebugViewを使用できます。
問題は、リリースモードでDebugクラスが削除されることです-リリースモードでデバッグするものを出力するにはどうすればよいですか?
単に使用する
Trace.Write(ex.ToString());
これは、リリースモードと同じように機能しDebug.Write(ex.ToString());
ますが、削除されません(プロジェクト設定でTRACE定数の定義を削除しなかった場合)。
たぶん、いくつかのロギングフレームワークを調べる価値があるでしょう。さまざまなログレベル(DEBUG、INFO、WARN、ERROR)、さまざまなロガー(アプリケーションの重要な部分ごとに1つのロガーを配置できます)があり、変更するだけでさまざまなロガーにさまざまなデバッグレベルを設定できるlog4netが好きです。構成ファイル。したがって、コードの一部の領域で問題が発生した場合は、そのロガーのDEBUGレベルを設定でき、完了したら元のレベルに戻すことができます。
これは表面を傷つけるだけで、エラー時に電子メールを送信したり、DBにログを記録したりするなど、さらに多くの機能があります。