FC2ブログ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

デバッグ時のみ実行させるには

 デバッグの時にのみ処理を行いたいと思うことが時々あります。
 例えば、実行中の内容を表示したり、設定の保存場所をデバッグの時は別の場所にしたりといった感じです。
using System;
using System.Diagnostics;

namespace Debug1
{
    class Program
    {
        static void Main(string[] args)
        {
#if DEBUG
            Console.WriteLine("#ifによるデバッグ実行");
#endif

            DebugPrint("Conditional属性によるデバッグ実行");
            Console.WriteLine("終了");
            Console.ReadLine();
        }

        [Conditional("DEBUG")]
        private static void DebugPrint(string message)
        {
            Console.WriteLine(message);
        }
    }
}
 デバッグの時のみに実行させる方法は2つあります。
 1つは#if-#endifを使用する方法です。
 DEBUGシンボルが存在する場合に処理が実行されます。

 もう1つの方法はConditional属性を使用する方法です。
 デバッグの時のみ有効にしたいメソッドにConditional属性を付けます。
 デバッグ中を表すDEBUGシンボル名を引数に指定します。
 指定したシンボルが存在する時のみメソッドが実行されます。
 このサンプルコードをデバッグビルドで実行すると以下の様になります。
デバッグビルド実行
 デバッグ用のメッセージが出力されていることが確認できます。
 これをリリースビルドで実行すると以下の様になります。
リリースビルド実行
 デバッグ用のメッセージは出力されていません。
スポンサーサイト

テーマ : プログラミング
ジャンル : コンピュータ

コメントの投稿

非公開コメント

カレンダー
09 | 2018/10 | 11
- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 - - -
全記事表示リンク

全ての記事を表示する

カテゴリ
タグリスト

月別アーカイブ
11  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  04  03  02  01  12  11  10  09  08  07  06  05  04  03  02  01  12  11  10  09 
最新記事
リンク
最新コメント
検索フォーム
Amazon
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。