Visual Studioのデバッグツールを使用してプログラムをデバッグしているときに特定のコードを実行できますか?Visual Studioでデバッグ中にのみコードを実行
#if DEBUG
またはConditional(“DEBUG”)
を使用すると、/ Debugディレクトリに.exeを実行してもコードが引き続きトリガされます。
Visual Studioのデバッグツールを使用してプログラムをデバッグしているときに特定のコードを実行できますか?Visual Studioでデバッグ中にのみコードを実行
#if DEBUG
またはConditional(“DEBUG”)
を使用すると、/ Debugディレクトリに.exeを実行してもコードが引き続きトリガされます。
#if DEBUG
は条件付きコンパイル用です。実行時の実行には影響しません。
実行時に分岐するには、代わりにDebugger.IsAttached
を使用します。 (Debugger.IsAttachedは)私がまさに必要であれば
:
[OK]を私は最終的に答えを見つけました。
Daiの答えにコメントする。 – HimBromBeere
とほぼ同じ時間です。男は追跡点です。答えは次の分に掲載されました。 – sofsntp
ハッシュタグで始まるステートメントはプリプロセッサディレクティブです。これらの指令は翻訳単位には存在しません。したがって、これらの条件文は、コンパイルされたファイルには存在しません。
EDITそれだけでデバッガをアタッチし、C#
私は、 "ハッシュ記号"、 "ポンド記号"、または "ハッシュタグ"ではなく "数字記号"のペダントになります。また、翻訳単位の概念はC#コンパイラには適用されません。 – Dai
@Daiまあ、私は "ハッシュ記号"について少し非公式だった。私はC#の翻訳単位の状態を知らなかった。あなたのご意見ありがとうございます。 –
Visual Studioがあまりにもデバッグフォルダ内のexeファイルを実行するために、この全体の翻訳単位のものが適用されないようです。条件付きコードは – Crowcoder
にコンパイルされています。いくつかの解決法についてはこれを参照してください:http://stackoverflow.com/questions/101806/check-if-application-was-started-from-within-visual-studio – PaulF