C#/VB.NET Debug.Printの使い方:デバッグ時のみ出力する

デバッグ中だけ出力確認をしたいけどいい方法はありますか?

Debug.Printを用いることで、デバッグ中のみ出力され、リリース時には出力されないように作成することができます。

目次

受講者数No.1!初心者からプロへ導く信頼のスクール

    短期間で習得可能!未経験から実践力を磨く充実のプログラム

    今なら無料相談でAmazonギフトカードがもらえる!

    Debug.Printとは

     デバッグ中のみデバッグ情報を1行ずつ出力するには,Debugクラスの「Debug.Print」を利用することで確認できます。Debug.Printは、C#のSystem.Diagnostics名前空間に含まれる関数です。

    この関数は、デバッグ時にのみテキストを出力することができます。リリース版には含まれず、開発中のデバッグ用として使用することができます。

    また、「Debug.WriteLine」も「Debug.Print」と同じ結果となります。

    Debug.WriteLineは、Debug.Printと同じような関数ですが、改行コードを含めた出力ができます。こちらもリリース版には含まれず、開発中のデバッグ用として使用することができます。

    Debug.Print(文字列)

    Debug.WriteLine(文字列)

    using System;
    using System.Windows.Forms;
    using System.Diagnostics;
    
            private void Form1_Load(object sender, EventArgs e)
            {
                Debug.Print("デバッグプリントテスト");
                Debug.WriteLine("デバッグプリントテスト");
            }
        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            Debug.Print("デバッグプリントテスト")
            Debug.WriteLine("デバッグプリントテスト")
        End Sub

    Debug.PrintとDebug.WriteLineの違いについて

     「Debug.Print」と「Debug.WriteLine」はほぼ同じ機能です。両方同じようなものと覚える良いです。
    あえて違いをあげると、PrintはString型のみに対応しており、WriteLineはObject型にも対応しているという違いがあります。

     どちらを使っても問題ないですが、どちらかに統一してしまったほうがプログラムを綺麗にかけるでしょう。

    Debug.PrintやConsole.WriteLineなどの使い分け

     各出力方法は用途によって利用タイミングが異なります。

    デバッグメソッド説明
    Debug.Print/Debug.WriteLineデバッグ時にのみ利用(リリースビルドには自動で反映されない)
    Console.WiteLineコンソール出力に表示したい場合に利用
    Trace.WriteLine詳細ログを追えるように残したい場合に利用
    各出力のまとめ

    条件によってデバッグ情報を出力する

     条件式が「true」のときのみデバッグ情報を出力するには、DebugクラスのWriteLineIfメソッドを使います。

    第一引数に条件式、第二引数に出力する値を指定します。

    Debug.WriteLineIf(条件式 , 出力する値)

    Debug.WriteLineIf(true, "デバッグプリント(true)");
    Debug.WriteLineIf(false, "デバッグプリント(false)");
    Debug.WriteLineIf(True, "デバッグプリント(true)")
    Debug.WriteLineIf(False, "デバッグプリント(false)")

    デバッグ情報をファイルに出力する

     デバッグ情報を出力するには、TraceLisnerCollectionオブジェクトに出力先を追加します。

    Trace.Listeners.Add(TextWriteTraceListenerオブジェクト)

    TextWriteTraceLisnerオブジェクトにはファイルパスを指定します。

    New TextWriterTraceListener(ファイルパス)

    Trace.Listeners.Add(new TextWriterTraceListener(@"C:\debug\debug.txt"));
    Trace.Write("デバッグプリント");
    Trace.Flush();   //出力バッファをフラッシュ
    Trace.Listeners.Add(New TextWriterTraceListener("C:\debug\debug.txt"))
    Trace.Write("デバッグプリント")
    Trace.Flush()   '出力バッファをフラッシュ

    受講者数No.1!初心者からプロへ導く信頼のスクール

      短期間で習得可能!未経験から実践力を磨く充実のプログラム

      今なら無料相談でAmazonギフトカードがもらえる!

      Debug時だけ出力を行えるようになりました。

      各出力方法を理解してその都度用途に合った出力方法を利用できるように覚えておきましょう。

      よかったらシェアしてね!
      • URLをコピーしました!
      • URLをコピーしました!
      目次