電子書籍の厳選無料作品が豊富!

DebugクラスとTraceクラスの違い

質問させてください。
C#の勉強で、DebugクラスとTraceクラスというものがあることを知りました。
どちらも似たような(デバッグのために使う)もののようですが、両者はどこが異なっているのでしょうか?
NETで調べてもいまいちよくわかりませんでした。

どなたか教えていただけると嬉しいです。
よろしくお願いいたします。

A 回答 (1件)

結論としては,


・Debugクラスはデバッグ構成時のみ使用可能
・Traceクラスはデバッグ構成でもリリース構成でも使用可能
となります。


以下,理由です。

Debugクラスは[Conditional("DEBUG")]が,
Traceクラスは[Conditional("TRACE")]が,
それぞれ付いています。

このため,
・Debugクラスのメソッドはコンパイル時定数DEBUGが定義されている時のみ呼び出される (定義されていなければ呼び出しは無視される)
・Traceクラスのメソッドはコンパイル時定数TRACEが定義されている時のみ呼び出される (定義されていなければ呼び出しは無視される)
という動作になります。

そして,Visual Studioが作成するプロジェクトでは,
・デバッグ構成ではDEBUGとTRACEが定義されている
・リリース構成ではTRACEのみが定義されている
となっています。

以上より,冒頭のような動作になります。
    • good
    • 0
この回答へのお礼

ありがとうございます。
とてもよくわかりました。

お礼日時:2010/06/08 15:09

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!