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 サーバー名) を入力します。 リモート マシン上のアプリの場所は、[ビルド] タブの [出力パス] プロパティで指定します。また、EXE ファイルがリモート コンピューターの共有ディレクトリにあることも必要です。 |
[デバッガー エンジン]>[アンマネージ コード デバッグを有効にする] | マネージ アプリからネイティブ (アンマネージ) Win32 コードへの呼び出しをデバッグします。 |
[デバッガー エンジン]>[SQL Server デバッグを有効にする] | SQL Server データベース オブジェクトをデバッグします。 |
[ビルド] タブ
設定 | 説明 |
---|---|
[全般]>[条件付きコンパイル シンボル] | 選択されている場合は、DEBUG 定数と TRACE 定数を定義します。 これらの定数により、Debug クラスと Trace クラスの条件付きコンパイルが有効になります。 これらの定数を定義すると、Debug クラスと Trace クラスのメソッドによって出力ウィンドウに出力が生成されます。 これらの定数を定義しない場合、Debug クラスと Trace クラスのメソッドはコンパイルされず、出力も生成されません。 通常、DEBUG はビルドのデバッグ バージョンで定義され、リリース バージョンでは定義されません。 TRACE は、デバッグ バージョンとリリース バージョンの両方で定義されます。 |
[全般]>[コードの最適化] | 最適化されたコードでのみバグが発生する場合を除き、この設定は、デバッグ ビルドではオフのままにしておきます。 最適化されたコードは、命令がソース コードのステートメントに直接対応していないため、デバッグが難しくなります。 |
[出力]>[出力パス] | 通常は、デバッグ用の bin\Debug に設定します。 |
[詳細設定] ボタン | 詳細なデバッグ オプションについては、[ビルドの詳細設定] ダイアログ ボックス (C#) に関するページを参照してください。 シンボル (.pdb) ファイルの移植可能な形式は、.NET Core アプリの最新のクロスプラットフォーム形式です。 |