Debug クラス
アセンブリ: System (system.dll 内)
構文
解説
Debug クラスのメソッドを使用し、デバッグ情報を出力し、アサーションと照らし合わせて論理チェックを行うことで、パフォーマンスや出荷製品のサイズに影響を与えることなくコードの信頼性を高めることができます。
Visual Studio 2005 プロジェクトでは、デバッグ ビルドを作成することにより、Debug が有効になります。Debug を無効にする方法については、Visual Studio 2005 ドキュメントを参照してください。
これに対して Visual Studio 2005 プロジェクトでの Trace は、リリース ビルドでもデバッグ ビルドでも既定で有効になるため、リリース ビルドとデバッグ ビルドの両方ですべてのトレース メソッドのためのコードが生成されます。したがって、Trace を使用してリリース ビルドをインストルメントできます。
このクラスには、Assert ダイアログ ボックスを表示するメソッド、および常に Fail になるアサーションを出力するメソッドが用意されています。このクラスは次の種類の書き込みメソッドを提供します。Write、WriteLine、WriteIf、および WriteLineIf。
BooleanSwitch クラスおよび TraceSwitch クラスは、トレース出力を動的に制御する手段を提供します。これらのスイッチの値はアプリケーションを再コンパイルせずに変更できます。構成ファイルを使ってスイッチを設定する方法の詳細については、Switch クラスのトピックおよび「トレース スイッチ」を参照してください。
Listeners コレクションに TraceListener インスタンスを追加したり、コレクションからインスタンスを削除することによって、トレース出力対象をカスタマイズできます。既定では、DefaultTraceListener クラスはトレース出力を出力します。
Indent メソッドまたは IndentLevel プロパティを使用して、インデントのレベルを変更できます。インデントの文字間隔を変更するには、IndentSize プロパティを使用します。AutoFlush プロパティを true に設定することによって、書き込むたびに出力バッファを自動的にフラッシュするかどうかを指定できます。
Debug の AutoFlush や IndentSize を設定するために、アプリケーション名に対応する構成ファイルを編集することもできます。構成ファイルの書式は次の例のようになります。
<configuration> <system.diagnostics> <trace autoflush="true" indentsize="7" /> </system.diagnostics> </configuration>
メモ |
---|
C# でデバッグを有効にするには、コードのコンパイル時に /d:DEBUG フラグをコンパイラのコマンド ラインに追加するか、#define DEBUG をファイルの最上部に挿入します。Visual Basic では、コンパイラのコマンド ラインに /d:DEBUG=True フラグを追加します。C++ でこれと同等の機能を使用するには、このクラスのメソッド呼び出しを #ifdef DEBUG... #endif ブロックで囲む必要があります。この構文はコンパイラ固有です。Debug のメソッドには条件付きコンパイル属性があるため、上記以外のコンパイラを使用する場合は、使用するコンパイラのドキュメントを参照して条件付きコンパイルを有効にする必要があります。 |
Debug を使用してプログラム実行の最初と最後を指定する例を次に示します。この例では、Indent と Unindent も使用してトレース出力を区別します。
Shared Function Main(args() As String) As Integer Debug.Listeners.Add(New TextWriterTraceListener(Console.Out)) Debug.AutoFlush = True Debug.Indent() Debug.WriteLine("Entering Main") Console.WriteLine("Hello World.") Debug.WriteLine("Exiting Main") Debug.Unindent() Return 0 End Function 'Main
static int Main(string[] args) { Debug.Listeners.Add(new TextWriterTraceListener(Console.Out)); Debug.AutoFlush = true; Debug.Indent(); Debug.WriteLine("Entering Main"); Console.WriteLine("Hello World."); Debug.WriteLine("Exiting Main"); Debug.Unindent(); return 0; }
#using <System.dll> int main( void ) { using namespace System; using namespace System::Diagnostics; Debug::Listeners->Add( gcnew TextWriterTraceListener( Console::Out ) ); Debug::AutoFlush = true; Debug::Indent(); Debug::WriteLine( "Entering Main" ); Console::WriteLine( "Hello World." ); Debug::WriteLine( "Exiting Main" ); Debug::Unindent(); return 0; }
System.Diagnostics.Debug
プラットフォーム
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
Debug プロパティ
Debug メソッド
パブリック メソッド
名前 | 説明 | |
---|---|---|
Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) | |
MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |
Debug メンバ
コードのデバッグに使用するメソッドとプロパティのセットを提供します。このクラスは継承できません。
Debug データ型で公開されるメンバを以下の表に示します。
パブリック プロパティ
パブリック メソッド
名前 | 説明 | |
---|---|---|
Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) | |
MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |
Weblioに収録されているすべての辞書からDebugを検索する場合は、下記のリンクをクリックしてください。
全ての辞書からDebugを検索
「Debug」に関係したコラム
FXのチャート分析ソフトMT4で10分足や2時間足などを表示するには
FX(外国為替証拠金取引)のチャート分析ソフトMT4(Meta Trader 4)では、次の時間足の表示ができます。ティック1分足5分足15分足30分足1時間足4時間足日足週足MT4では、10分足や1...
- Debugのページへのリンク