プログラムがデバッグ実行中かどうか判断する方法

ちょっとした Tips を。

Debugger クラスの IsAttached プロパティをチェックすれば、プログラムがデバッグ実行中かどうかを判断できます。

using System;
using System.Diagnostics;
namespace DebugSample
{
    class Program
    {
        static void Main(string[] args)
        {
            if (Debugger.IsAttached)
            {
                Console.WriteLine("デバッグ実行中。");
            }
            else
            {
                Console.WriteLine("デバッグ無しで実行中。");
            }
            Console.ReadLine();
        }
    }
}

デバッグ実行のときだけ有効にしたい処理があるときに、役に立つかもしれません。例えば……テスト専用の機能とか?