【.NET Framework】Debug.Print()をファイルに出力する

.NET Framework コンピュータ
.NET Framework
Debug.Print()の出力先をファイルにすることが出来れば、デバッグ環境が無い場合でも、ある程度デバックすることが出来るのではないかと思い調べてみました。

ソースコード

using System.Diagnostics;
using System;
using System.Windows.Forms;

// コンパイル
// csc /t:winexe Debug.cs /d:DEBUG

class Form1 : Form
{
    Form1()
    {
        Debug.Print("Hoge");
    }
    [STAThread]
    static void Main()
    {
        var dl = (DefaultTraceListener)Debug.Listeners["Default"];
        dl.LogFileName = @".\Debug.log";

        Application.Run(new Form1());
    }
}

コンパイル

csc /t:winexe Debug.cs /d:DEBUG

実行

./Debug.exe

実行ファイルと同じディレクトリに「Debug.log」というファイル名でテキストファイルが出来上がります。
メモ帳で中身を覗くとDebug.Print()で実行した文字列が出力されていることが確認出来ます。

ちなみにコンパイル時の/d:DEBUGのオプションが無い場合、ファイルは作成されませんでした。

コメント