方法 : アプリケーション コードにトレース ステートメントを追加する
トレースで最も使用頻度の高いメソッドは、リスナーに出力を送るメソッドである Write、WriteIf、WriteLine、WriteLineIf、Assert、および Fail です。 これらのメソッドは、2 つのカテゴリに分類されます。Write、WriteLine、および Fail は、出力を無条件に生成するメソッドです。一方、WriteIf、WriteLineIf、および Assert は、Boolean の条件をテストしてその条件値に基づいて書き込みを行うかどうかを判断するメソッドです。 WriteIf および WriteLineIf は条件が true の場合に出力を生成し、Assert は条件が false の場合に出力を生成します。
トレース方法およびデバッグ方法をデザインするときは、出力の表示方法を考慮する必要があります。 無関係の情報が含まれた複数の Write ステートメントで作成されたログは読みにくくなります。 また、WriteLine を使用して関連するステートメントを個別の行に配置すると、情報のまとまりを判断するのが困難になることがあります。 一般に、複数のソースの情報を結合して 1 つの情報の集まりとしてメッセージを作成する場合は、複数の Write ステートメントを使用します。1 つの完結されたメッセージを作成する場合は、Write ステートメントを使用します。
完結する行を書き込むには
WriteLine メソッドまたは WriteLineIf メソッドを呼び出します。
このメソッドが返すメッセージの最後には、キャリッジ リターンが追加されます。したがって、次回の Write、WriteIf、WriteLine、または 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.");
完結しない行を書き込むには
Write メソッドまたは WriteIf メソッドを呼び出します。
Write、WriteIf、WriteLine、または 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");
メソッドの実行前または実行後に存在する特定の条件を検査するには
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.");
メモ Assert は、トレースとデバッグの両方で使用できます。この例では、呼び出し履歴を Listeners コレクションのリスナーに出力しています。詳細については、「マネージ コードのアサーション」および「Debug.Assert」を参照してください。