- ベストアンサー
DebugクラスとTraceクラスの違い
DebugクラスとTraceクラスの違い 質問させてください。 C#の勉強で、DebugクラスとTraceクラスというものがあることを知りました。 どちらも似たような(デバッグのために使う)もののようですが、両者はどこが異なっているのでしょうか? NETで調べてもいまいちよくわかりませんでした。 どなたか教えていただけると嬉しいです。 よろしくお願いいたします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
結論としては, ・Debugクラスはデバッグ構成時のみ使用可能 ・Traceクラスはデバッグ構成でもリリース構成でも使用可能 となります。 以下,理由です。 Debugクラスは[Conditional("DEBUG")]が, Traceクラスは[Conditional("TRACE")]が, それぞれ付いています。 このため, ・Debugクラスのメソッドはコンパイル時定数DEBUGが定義されている時のみ呼び出される (定義されていなければ呼び出しは無視される) ・Traceクラスのメソッドはコンパイル時定数TRACEが定義されている時のみ呼び出される (定義されていなければ呼び出しは無視される) という動作になります。 そして,Visual Studioが作成するプロジェクトでは, ・デバッグ構成ではDEBUGとTRACEが定義されている ・リリース構成ではTRACEのみが定義されている となっています。 以上より,冒頭のような動作になります。
お礼
ありがとうございます。 とてもよくわかりました。