次の方法で共有


方法 : アプリケーション コードにトレース ステートメントを追加する

更新 : 2007 年 11 月

トレースで最も使用頻度の高いメソッドは、リスナに出力を送るメソッドである WriteWriteIfWriteLineWriteLineIfAssert、および Fail です。これらのメソッドは、2 つのカテゴリに分類されます。WriteWriteLine、および Fail は、出力を無条件に生成するメソッドです。一方、WriteIfWriteLineIf、および Assert は、Boolean の条件をテストしてその条件値に基づいて書き込みを行うかどうかを判断するメソッドです。WriteIf および WriteLineIf は条件が true の場合に出力を生成し、Assert は条件が false の場合に出力を生成します。

トレース方法およびデバッグ方法をデザインするときは、出力の表示方法を考慮する必要があります。無関係の情報が含まれた複数の Write ステートメントで作成されたログは読みにくくなります。また、WriteLine を使用して関連するステートメントを個別の行に配置すると、情報のまとまりを判断するのが困難になることがあります。一般に、複数のソースの情報を結合して 1 つの情報の集まりとしてメッセージを作成する場合は、複数の Write ステートメントを使用します。1 つの完結されたメッセージを作成する場合は、Write ステートメントを使用します。

完結する行を書き込むには

  • WriteLine メソッドまたは WriteLineIf メソッドを呼び出します。

    このメソッドが返すメッセージの最後には、キャリッジ リターンが追加されます。したがって、次回の WriteWriteIfWriteLine、または WriteLineIf から返されるメッセージは、次の行から開始されます。

    Dim errorFlag As Boolean = False
    Trace.WriteLine("Error in AppendData procedure.")
    Trace.WriteLineIf(errorFlag, "Error in AppendData procedure.") 
    
    bool errorFlag = false;
    System.Diagnostics.Trace.WriteLine ("Error in AppendData procedure.");
    System.Diagnostics.Trace.WriteLineIf(errorFlag, 
       "Error in AppendData procedure.");
    
    boolean errorFlag = false;
    System.Diagnostics.Trace.WriteLine("Error in AppendData procedure.");
    System.Diagnostics.Trace.WriteLineIf(errorFlag, 
       "Error in AppendData procedure.");
    

完結しない行を書き込むには

  • Write メソッドまたは WriteIf メソッドを呼び出します。

    WriteWriteIfWriteLine、または WriteLineIf によって出力される次のメッセージは、Write ステートメントまたは WriteIf ステートメントによって出力された行と同じ行から開始されます。

    Dim errorFlag As Boolean = False
    Trace.WriteIf(errorFlag, "Error in AppendData procedure.")
    Debug.WriteIf(errorFlag, "Transaction abandoned.")
    Trace.Write("Invalid value for data request")
    
    bool errorFlag = false;
    System.Diagnostics.Trace.WriteIf(errorFlag, 
       "Error in AppendData procedure.");
    System.Diagnostics.Debug.WriteIf(errorFlag, "Transaction abandoned.");
    Trace.Write("Invalid value for data request");
    
    boolean errorFlag = false;
    System.Diagnostics.Trace.WriteIf(errorFlag, "Error in AppendData procedure.");
    System.Diagnostics.Debug.WriteIf(errorFlag, "Transaction abandoned.");
          System.Diagnostics.Trace.Write("Invalid value for data request");
    

メソッドの実行前または実行後に存在する特定の条件を検査するには

  • Assert メソッドを呼び出します。

    Dim I As Integer = 4
    Trace.Assert(I = 5, "I is not equal to 5.")
    
    int I = 4;
    System.Diagnostics.Trace.Assert(I == 5, "I is not equal to 5.");
    
    int I = 4;
    System.Diagnostics.Trace.Assert(I == 5, "I is not equal to 5.");
    
    メモ :

    Assert は、トレースとデバッグの両方で使用できます。この例では、呼び出し履歴を Listeners コレクションのリスナに出力しています。詳細については、「マネージ コードのアサーション」および「Debug.Assert」を参照してください。

参照

処理手順

方法 : トレース スイッチを設定する

概念

実装とトレースの概要

トレース スイッチ

トレース リスナ

参照

Debug.WriteIf

Debug.WriteLineIf

Trace.WriteIf

Trace.WriteLineIf

その他の技術情報

アプリケーションのトレースとインストルメント