2016-09-30 25 views
0

Visual Studioのデバッグツールを使用してプログラムをデバッグしているときに特定のコードを実行できますか?Visual Studioでデバッグ中にのみコードを実行

#if DEBUGまたはConditional(“DEBUG”)を使用すると、/ Debugディレクトリに.exeを実行してもコードが引き続きトリガされます。

+1

Visual Studioがあまりにもデバッグフォルダ内のexeファイルを実行するために、この全体の翻訳単位のものが適用されないようです。条件付きコードは – Crowcoder

+0

にコンパイルされています。いくつかの解決法についてはこれを参照してください:http://stackoverflow.com/questions/101806/check-if-application-was-started-from-within-visual-studio – PaulF

答えて

7

#if DEBUGは条件付きコンパイル用です。実行時の実行には影響しません。

実行時に分岐するには、代わりにDebugger.IsAttachedを使用します。 (Debugger.IsAttachedは)私がまさに必要であれば

0

[OK]を私は最終的に答えを見つけました。

+0

Daiの答えにコメントする。 – HimBromBeere

+0

とほぼ同じ時間です。男は追跡点です。答えは次の分に掲載されました。 – sofsntp

0

ハッシュタグで始まるステートメントはプリプロセッサディレクティブです。これらの指令は翻訳単位には存在しません。したがって、これらの条件文は、コンパイルされたファイルには存在しません。

EDITそれだけでデバッガをアタッチし、C#

+0

私は、 "ハッシュ記号"、 "ポンド記号"、または "ハッシュタグ"ではなく "数字記号"のペダントになります。また、翻訳単位の概念はC#コンパイラには適用されません。 – Dai

+0

@Daiまあ、私は "ハッシュ記号"について少し非公式だった。私はC#の翻訳単位の状態を知らなかった。あなたのご意見ありがとうございます。 –

関連する問題