C# デバッグ構成のプロジェクト設定
C# プロジェクトのデバッグ設定は、プロジェクト のプロパティ ページの [デバッグ] タブ および [ビルド] タブ 変更できます。
プロパティ ページを開くには、ソリューション エクスプローラー でプロジェクト 選択し、プロパティ アイコンを選択するか、プロジェクトを右クリックして [プロパティ] 選択します。
詳細については、「デバッグ構成とリリース構成を参照してください。
重要
これらの設定は、.NET Core、ASP.NET、または UWP アプリには適用されません。 .NET 5 以降と .NET Core のデバッグ設定を構成するには、C# デバッグ構成のプロジェクト設定 (.NET 5 以降、.NET Core)を参照してください。
重要
これらの設定は、.NET Core、ASP.NET、または UWP アプリには適用されません。 UWP アプリのデバッグ設定を構成するには、「UWP アプリのデバッグ セッションを開始する」を参照してください。
[デバッグ] タブ
設定 | 説明 |
---|---|
構成 | アプリをビルドするためのモードを設定します。 ドロップダウンリストから アクティブ (デバッグ)、デバッグ、リリース、または [すべての構成 を] を選択します。 |
アクション開始 | デバッグ構成で 開始 を選択したときのアクションを指定します。 - プロジェクト の開始が既定値であり、デバッグ用にスタートアップ プロジェクトを起動します。 詳細については、「スタートアップ プロジェクトのを選択する」を参照してください。 - 外部プログラム を開始し、Visual Studio プロジェクトに含まれていないアプリにアタッチします。 詳細については、「デバッガーを使用して実行中のプロセスにアタッチする」を参照してください。 - URL を使用してブラウザーを起動すると、Web アプリをデバッグできます。 |
コマンドライン引数>開始オプション | デバッグするアプリのコマンド ライン引数を指定します。 コマンド名は、「外部プログラムの開始 で指定されたアプリ名です。 |
スタートオプション>作業ディレクトリ | デバッグするアプリの作業ディレクトリを指定します。 C# では、作業ディレクトリは既定で \bin\debug されます。 |
スタート オプション>リモート コンピューター を使用する | リモート デバッグの場合は、このオプションを選択し、リモート デバッグ ターゲットの名前を入力するか、msvsmon サーバー名 を入力します。 リモート コンピューター上のアプリの場所は、[ビルド] タブの [出力パス] プロパティで指定します。この場所は、リモート コンピューター上の共有可能なディレクトリである必要があります。 |
デバッガー エンジン>アンマネージ コード デバッグ を有効にする | マネージド アプリからネイティブ (アンマネージド) Win32 コードへの呼び出しをデバッグします。 |
デバッガー エンジン>SQL Server デバッグ を有効にする | SQL Server データベース オブジェクトをデバッグします。 |
[ビルド] タブ
設定 | 説明 |
---|---|
一般的な>条件付きコンパイル シンボル | 選択されている場合は、DEBUG 定数と TRACE 定数を定義します。 これらの定数を使用すると、Debug クラス と trace クラス の条件付きコンパイルが可能になります。 これらの定数を定義すると、Debug クラスメソッドと Trace クラス メソッドによって、出力ウィンドウへの出力が生成されます。 これらの定数がないと、Debug クラスメソッドと Trace クラス メソッドはコンパイルされず、出力は生成されません。 通常、DEBUG はビルドのデバッグ バージョンで定義され、リリース バージョンでは未定義です。 TRACE は、デバッグ バージョンとリリース バージョンの両方で定義されます。 |
General>コードを最適化 | 最適化されたコードにのみバグが表示されない限り、デバッグ ビルドではこの設定の選択を解除したままにします。 最適化されたコードはデバッグが困難です。これは、命令がソース コード内のステートメントに直接対応していないためです。 |
[出力]>[出力パス] | 通常、デバッグのために bin\Debug を に設定します。 |
[詳細設定] ボタン | デバッグの詳細オプションの詳細については、「ビルド設定の詳細設定] ダイアログ ボックス (C#)を参照してください。 シンボル (.pdb) ファイルの移植可能な形式は、.NET Core アプリ用の最近のクロスプラットフォーム形式です。 |