#if (DEBUG) VS System.Diagnostics.Debugger.IsAttached 質問する

#if (DEBUG) VS System.Diagnostics.Debugger.IsAttached 質問する

Visual Studio でを使用する場合#if (DEBUG)と を使用する場合の違いは何ですか?フラグが設定されているのにデバッガーがアタッチされていない場合や、フラグが設定されていなくてもデバッガーをアタッチできる場合はありますか?System.Diagnostics.Debugger.IsAttachedDEBUGDEBUG

ベストアンサー1

#if DEBUGリリース ビルドでは、コードがアセンブリにまったく含まれないことを保証します。また、 によって含まれるコードは、#if DEBUGデバッガーで実行されているときだけでなく、デバッグ ビルドでは常に実行されます。

Debugger.IsAttachedつまり、コードはデバッグ ビルドとリリース ビルドの両方に含まれます。また、リリース ビルドにデバッガーをアタッチすることもできます。

両方を一緒に使用するのが一般的です。#if DEBUGは通常、ログ記録などの目的、または内部テスト ビルドでの例外処理の削減に使用されます。Debugger.IsAttached例外を受け入れるか、プログラマーに表示するかを決定するために使用される傾向があり、他の何よりもプログラマーの補助として使用されます。

おすすめ記事