C++ デバッグ構成のプロジェクト設定Project settings for a C++ debug configuration

「 C++ 方法: デバッグ構成とリリース構成を設定する」で説明されているように、C またはデバッグ構成のプロジェクト設定は、 [プロパティページ] ダイアログボックスで変更できます。You can change the project settings for a C or C++ debug configuration in the Property Pages dialog box, as discussed in How to: Set debug and release configurations. 次の表は、 [プロパティ ページ] ダイアログ ボックスのデバッガー関連の設定の場所を示しています。The following tables show where to find debugger-related settings in the Property Pages dialog box.

Note

[構成プロパティ]/[デバッグ] カテゴリのデバッグプロジェクト設定は、UWP アプリとでC++記述されたコンポーネントで異なります。The debug project settings in the Configuration Properties/Debugging category are different for UWP apps and for components that are written in C++. デバッグセッションを開始する (VB C#、 C++ 、および XAML)」を参照してください。See Start a debug session (VB, C#, C++ and XAML).

各デバッグプロパティの設定は、ソリューションを保存するときに、ソリューションの "ユーザーごと" ファイル (.vcxproj. ユーザー) に自動的に書き込まれ、保存されます。Each debug property setting is automatically written and saved to the "per-user" file (.vcxproj.user) for your solution when you save your solution.

次の表に示すように、 [起動するデバッガー] ボックスで使用するデバッガーを指定します。Specify which debugger to use in the Debugger to launch list box, as described in the following table. 選択したデバッガーによって、表示されるプロパティが異なります。Your choice will affect which properties are visible.

[構成プロパティ] フォルダー ([デバッグ] カテゴリ)Configuration Properties folder (Debugging category)

設定Setting 説明Description
[起動するデバッガー]Debugger to launch 実行するデバッガーを指定します。次の中から選択します。Specifies the debugger to run, with the following choices:

- ローカル Windows デバッガー- Local Windows Debugger
- リモート Windows デバッガー- Remote Windows Debugger
- Web ブラウザー デバッガー- Web Browser Debugger
- Web Service デバッガー- Web Service Debugger
[コマンド] (ローカル Windows デバッガー)Command (Local Windows Debugger) ローカル コンピューターでデバッグするプログラムを起動するコマンドを指定します。Specifies the command for starting the program that you are debugging on the local computer.
[リモート コマンド] (リモート Windows デバッガー)Remote Command (Remote Windows Debugger) リモート コンピューター上の .exe のパスを指定します。The path for the .exe on the remote computer. リモート コンピューターでパスを入力するようにパスを入力します。Enter the path just as you would enter it on the remote machine.
コマンド引数(ローカル Windows デバッガー)Command Arguments (Local Windows Debugger)

リモートコマンド引数(リモート Windows デバッガー)Remote Command Arguments (Remote Windows Debugger)
- 上で指定したコマンドの引数を指定します。- Specifies arguments for the command specified earlier.

このボックスでは、次のリダイレクト演算子を使用できます。You can use the following redirection operators in this box:

< file
標準入力を file から読み取ります。Reads stdin from file.

> file
標準出力を file に書き込みます。Writes stdout to file.

>> file
標準出力を file に追加します。Appends stdout to file.

2> file2> file
標準エラー出力を file に書き込みます。Writes stderr to file.

2>> file2>> file
標準エラー出力を file に追加します。Appends stderr to file.

2> &12> &1
標準エラー出力 (2) を標準出力 (1) と同じ位置に出力します。Sends stderr (2) output to same location as stdout (1).

1> &21> &2
標準出力 (1) を標準エラー出力 (2) と同じ位置に出力します。Sends stdout (1) output to same location as stderr (2).

ほとんどの場合、これらの演算子はコンソール アプリケーションでのみ有効です。In most cases, these operators are applicable only to console applications.
作業ディレクトリWorking Directory デバッグするプログラムの作業ディレクトリを、EXE ファイルがあるプロジェクト ディレクトリを基準とした相対パスで指定します。Specifies the working directory of the program being debugged, relative to the project directory where your EXE is located. この設定を空白のままにした場合、作業ディレクトリはプロジェクト ディレクトリになります。If you leave this blank, the working directory is the project directory. リモートデバッグの場合、プロジェクトディレクトリはリモートサーバー上にあります。For remote debugging, the project directory is on the remote server.
[アタッチ] (ローカル Windows デバッガーとリモート Windows デバッガー)Attach (Local Windows Debugger and Remote Windows Debugger) アプリケーションを起動するか、またはアプリケーションにアタッチするかを指定します。Specifies whether to start or attach to the application. 既定の設定は [いいえ] です。Default setting is No.
[リモート サーバー名] (リモート Windows デバッガー)Remote Server Name (Remote Windows Debugger) アプリケーションをデバッグするコンピューター (自分のコンピューター以外) の名前を指定します。Specifies the name of a computer (other than yours) on which you want to debug an application.

RemoteMachine ビルド マクロには、このプロパティの値を設定します。詳細については、ビルドのコマンドとプロパティのマクロに関するページを参照してください。The RemoteMachine Build macro is set to the value of this property; for more information, see Macros for build commands and properties.
[接続] (リモート Windows デバッガー)Connection (Remote Windows Debugger) リモート デバッグ用の接続の種類を、標準の接続と認証を使用しない接続の間で切り替えます。Allows you to switch between standard and no-authentication connection types for remote debugging. [リモート サーバー名] ボックスでリモート コンピューター名を指定します。Specify a remote computer name in the Remote Server Name box. 接続の種類には、次のようなものがあります。Connection types include the following:

- Windows 認証でリモート接続する- Remote with Windows Authentication
- 認証なしでリモート接続する- Remote with No Authentication

メモ 認証を使用しないリモート デバッグを行うと、セキュリティ違反に対してリモート コンピューターが脆弱になる可能性があります。Note Remote debugging with No Authentication may leave the remote computer vulnerable to security violations. Windows 認証モードの方がより安全です。Windows Authentication mode is more secure.

詳細については、「Remote debugging setup」 (リモート デバッグの設定) を参照してください。For more information, see Remote debugging setup.
[HTTP URL] (Web Service デバッガーと Web ブラウザー デバッガー)HTTP URL (Web Service Debugger and Web Browser Debugger) デバッグするプロジェクトが存在する URL を指定します。Specifies the URL where the project you are debugging is located.
[デバッガーのタイプ]Debugger Type 使用するデバッガーの種類を指定します。 [ネイティブのみ][マネージドのみ][GPU のみ][混合][自動] (既定)、または [スクリプト] を選択します。Specifies the type of debugger to be used: Native Only, Managed Only, GPU Only, Mixed, Auto (default), or Script.

- [ネイティブのみ] は、アンマネージ C++ コードに使用します。- Native Only is for unmanaged C++ code.
- [マネージドのみ] は、共通言語ランタイムで実行されるコード (マネージド コード) に使用します。- Managed Only is for code that runs under the common language runtime (managed code).
- [混合] を選択すると、マネージド コードとアンマネージド コードのデバッガーが起動します。- Mixed invokes debuggers for both managed and unmanaged code.
- [自動] を選択すると、コンパイラと EXE の情報に基づいてデバッガーの種類が決まります。- Auto determines the debugger type based on compiler and EXE information.
- [スクリプト] を選択すると、スクリプトのデバッガーが起動します。- Script invokes a debugger for scripts.
- [GPU のみ] は、GPU デバイスまたは DirectX リファレンス ラスターライザーで実行される C++ AMP コードに使用します。- GPU Only is for C++ AMP code that runs on a GPU device or on the DirectX reference rasterizer. GPU コードのデバッグ」を参照してください。See Debugging GPU code.
環境 (ローカル windows デバッガー と リモート windows デバッガー)Environment (Local Windows Debugger and Remote Windows Debugger) デバッグするプログラムの環境変数を指定します。Specifies environment variables for the program that you are debugging. 標準的な環境変数構文 (PATH="%SystemRoot%\..." など) を使用します。Use standard environment variable syntax (for example, PATH="%SystemRoot%\..."). 各変数は、 [マージ環境] の設定に応じて、システム環境をオーバーライドするか、システム環境にマージされます。These variables override the system environment or are merged with the system environment, depending on the Merge Environment setting. [設定] 列を左クリックすると、[編集...]が.When you left-click in the settings column, an "Edit..." appears. このリンクを選択して、環境変数を編集します。Select that link to edit environment variables.
[マージ環境] (ローカル Windows デバッガー)Merge Environment (Local Windows Debugger) [環境] ボックスで指定した変数を、オペレーティング システムによって定義されている環境にマージするかどうかを決定します。Determines whether the variables that are specified in the Environment box will be merged with the environment that is defined by the operating system. 既定の設定は [はい] です。Default setting is Yes.
[SQL デバッグ] (MPI クラスター デバッガーを除くすべて)SQL Debugging (all but MPI Cluster Debugger) SQL プロシージャのデバッグを Visual C++Visual C++ アプリケーションから有効にします。Enables debugging of SQL procedures from your Visual C++Visual C++ application. 既定の設定は [いいえ] です。Default setting is No.
[デバッグ アクセラレータの種類] (GPU デバッグのみ)Debugging Accelerator Type (GPU debugging only) デバッグに使用する GPU デバイスを指定します。Specifies the GPU device to use for debugging. 互換性のある GPU デバイス用のデバイス ドライバーをインストールするとその他のオプションが追加されます。Installing device drivers for compatible GPU devices will add additional options. 既定の設定は [GPU - ソフトウェア エミュレーター] です。The default setting is GPU - Software Emulator.
[GPU 既定のブレークポイントの動作] (GPU デバッグのみ)GPU Default Breakpoint Behavior (GPU debugging only) ブレークポイント イベントを SIMD ワープの各スレッドごとに発生させるかどうかを指定します。Specifies whether a breakpoint event should be raised for each thread in a SIMD warp. 既定の設定では、1 ワープごとに 1 回、ブレークポイント イベントが発生します。The default setting is to raise the breakpoint event only once per warp.
[AMP の既定のアクセラレータ]Amp Default Accelerator GPU コードをデバッグする際、既定の AMP のアクセラレータを指定します。Specifies the default AMP accelerator when debugging GPU code. 問題の原因がコードではなく、ハードウェアやドライバーにあるかどうかを調査するには、 [WARP ソフトウェアのアクセラレータ] を選択します。Choose WARP software accelerator to investigate if an issue is caused by the hardware or a driver instead of your code.
[配置ディレクトリ] (リモート Windows デバッガー)Deployment Directory (Remote Windows Debugger) 起動前にプロジェクト出力がコピーされるリモート コンピューター上のパスを指定します。Specifies the path on the remote computer where the project output will be copied prior to launch. このパスとして、リモート コンピューター上のネットワーク共有、またはリモート コンピューター上のフォルダーへのパスを指定できます。The path can be a network share on the remote computer, or it can be a path to a folder on the remote computer. 既定の設定は空で、プロジェクト出力はネットワーク共有にコピーされます。The default setting is empty, which means the project output is not copied to a network share. ファイルの配置を有効にするには、[構成マネージャー] ダイアログ ボックスで [配置] チェック ボックスをオンにする必要もあります。To enable deployment of the files, you must also select the Deploy check box in the Configuration Manager dialog box. 詳細については、「方法 : 構成を作成および編集する」を参照してください。For more information, see How to: Create and edit configurations.
[配置する追加ファイル] (リモート Windows デバッガー)Additional Files to Deploy (Remote Windows Debugger) [配置ディレクトリ] プロパティが設定されている場合は、配置ディレクトリにコピーする追加ファイルのセミコロン区切りの一覧です。If the Deployment Directory property is set, this is a semicolon-delimited list of additional files to copy to the deployment directory. 既定の設定は空で、配置ディレクトリにコピーされる追加ファイルはありません。The default setting is empty, which means that no additional files are copied to the deployment directory. ファイルの配置を有効にするには、[構成マネージャー] ダイアログ ボックスで [配置] チェック ボックスをオンにする必要もあります。To enable deployment of the files, you must also select the Deploy check box in the Configuration Manager dialog box. 詳細については、「方法 : 構成を作成および編集する」を参照してください。For more information, see How to: Create and edit configurations.
[Visual C++ デバッグ ランタイム ライブラリの配置] (リモート Windows デバッガー)Deploy Visual C++ Debug Runtime Libraries (Remote Windows Debugger) 配置ディレクトリのプロパティを設定している場合、現在のプラットフォーム用の Visual C++ デバッグ ランタイム ライブラリをネットワーク共有にコピーする必要があるかどうかを指定します。If the Deployment Directory property is set, this specifies whether the Visual C++ debug runtime libraries for the current platform should be copied to the network share. 既定の設定は [はい] です。The default setting is Yes.

C/C++ フォルダー ([全般] カテゴリ)C/C++ folder (General category)

設定Setting 説明Description
[デバッグ情報の形式] (/Z7、/Zd、Zi、/ZI)Debug Information Format (/Z7, /Zd, Zi, /ZI) プロジェクトに作成するデバッグ情報の種類を指定します。Specifies the type of debug information to be created for the project.

既定のオプション (/ZI) では、プログラム データベース (PDB) がエディット コンティニュ互換形式で作成されます。The default option (/ZI) creates a program database (PDB) in Edit and Continue compatible format. 詳細については、/Z7、/Zd、/Zi、/ZI (デバッグ情報の形式) に関するページを参照してください。For more information, see /Z7, /Zd, /Zi, /ZI (Debug information format).

[C/C++] フォルダー ([最適化] カテゴリ)C/C++ folder (Optimization category)

設定Setting 説明Description
OptimizationOptimization コンパイラが生成したコードを最適化するかどうかを指定します。Specifies whether the compiler should optimize the code it produces. 最適化すると、実行されるコードが変更されます。Optimization changes the code that is executed. 最適化されたコードはソースコードと一致しなくなったため、デバッグが困難になります。Optimized code no longer matches the source code, which makes debugging more difficult.

既定のオプション ( [無効 (/0d)] ) では、最適化は行われません。The default option (Disabled (/0d)) suppresses optimization. 最適化を行わずにコードを開発し、実行環境用のコードを作成するときに最適化をオンにできます。You can develop with optimization suppressed, and then turn it on when you create the production version of your code.

[リンカー] フォルダー ([デバッグ] カテゴリ)Linker folder (Debugging category)

設定Setting 説明Description
[デバッグ情報を作成] (/DEBUG)Generate Debug Info (/DEBUG) デバッグ情報を含めるようにリンカーに指示します。デバッグ情報の形式は、/Z7、/Zd、Zi、または /ZI で指定されます。Tells the linker to include debug information, which will have the format specified by /Z7, /Zd, Zi, or /ZI.
[プログラム データベース ファイルの生成] (/PDB:name)Generate Program Database File (/PDB:name) このボックスに、プログラムデータベース (PDB) ファイルの名前を指定します。Specify the name of a program database (PDB) file in this box. [デバッグ情報の形式] で ZI または /Zi を選択する必要があります。You must select ZI or /Zi for Debug Information Format.
[プライベート シンボルの削除] (/PDBSTRIPPED:filename)Strip Private Symbols (/PDBSTRIPPED:filename) PDB ファイルのプライベート シンボルを含めない場合は、このボックスに PDB ファイルの名前を指定します。Specify the name of a PDB file in this box if you do not want to include private symbols in the PDB file. このオプションは、/DEBUG、/Z7、/Zd. などの PDB ファイルを生成する任意のコンパイラオプションまたはリンカーオプションを使用してプログラムイメージをビルドするときに、2番目の PDB ファイルを作成します。This option creates a second PDB file when you build your program image with any of the compiler or linker options that generate a PDB file, such as /DEBUG, /Z7, /Zd. /Zi など)。Or /Zi. 2 番目の PDB ファイルでは、顧客に提供しないシンボルが省かれています。This second PDB file omits symbols that you would not want to ship to your customers. 詳細については、「/PDBSTRIPPED (プライベート シンボルの除去)」を参照してください。For more information, see /PDBSTRIPPED (Strip private symbols).
[マップ ファイルの作成] (/MAP)Generate Map File (/MAP) リンク中にマップ ファイルを生成するようにリンカーに指示します。Tells the linker to generate a map file during linking. 既定の設定は [いいえ] です。Default setting is No. 詳細については、「/MAP (マップ ファイルの生成)」を参照してください。For more information, see /MAP (Generate Mapfile).
マップファイル名(/map:Name)Map File Name (/MAP:name) [マップ ファイルの作成] を選択する場合は、このボックスにマップ ファイルを指定できます。If you choose Generate Map File, you can specify the map file in this box. 詳細については、「/MAP (マップ ファイルの生成)」を参照してください。For more information, see /MAP (Generate Mapfile).
[マップファイルのエクスポート] (/MAPINFO:EXPORTS)Map Exports (/MAPINFO:EXPORTS) エクスポートされた関数をマップ ファイルに含めます。Includes exported functions in the map file. 既定の設定は [いいえ] です。Default setting is No. 詳細については、「 /mapinfo (Mapfile に情報を含める)」を参照してください。For more information, see /MAPINFO (Include Information in Mapfile).
[デバッグできるアセンブリ] (/ASSEMBLYDEBUG)Debuggable Assembly (/ASSEMBLYDEBUG) リンカーの /ASSEMBLYDEBUG オプションの設定を指定します。Specifies settings for the Linker /ASSEMBLYDEBUG option. 指定できる値は次のとおりです。Possible values are:

- [デバッグできる属性が作成されませんでした]- No debuggable attribute emitted.
- [ランタイム トラッキングおよび最適化の無効 (/ASSEMBLYDEBUG)]- Runtime tracking and disable optimizations (/ASSEMBLYDEBUG). これが既定の設定です。This is the default setting,
- [ランタイム トラッキングおよび最適化の有効を無効にする (/ASSEMBLYDEBUG:DISABLE)]- No runtime tracking and enable optimizations(/ASSEMBLYDEBUG:DISABLE).
- [<親またはプロジェクトの既定値から継承>]- <inherit from parent or project defaults>.
詳細については、「/ASSEMBLYDEBUG (DebuggableAttribute の追加)」を参照してください。- For more information, see /ASSEMBLYDEBUG (Add DebuggableAttribute).

[構成プロパティ] フォルダー ([デバッグ] カテゴリ) 内のこれらの設定は、Microsoft.VisualStudio.VCProjectEngine.VCDebugSettings インターフェイスを使用してプログラムで変更できます。You can change these settings in the Configuration Properties folder (Debug category) programmatically by using the Microsoft.VisualStudio.VCProjectEngine.VCDebugSettings interface. 詳細については、「VCDebugSettings」を参照してください。For more information, see VCDebugSettings.

その他のプロジェクト設定Other project settings

スタティックライブラリや Dll などのプロジェクトの種類をデバッグするには、Visual Studio プロジェクトで正しいファイルを見つけることができる必要があります。To debug project types such as static libraries and DLLs, your Visual Studio project must be able to find the correct files. ソースコードが使用可能な場合は、スタティックライブラリと Dll を別々のプロジェクトとして同じソリューションに追加して、デバッグを容易にすることができます。When source code is available, you can add static libraries and DLLs as separate projects to the same solution, to make debugging easier. これらのプロジェクトの種類の作成の詳細については、「ダイナミックリンクライブラリ (DLL) の作成と使用」および「スタティックライブラリを使用したの作成」を参照してください。For information on creating these project types, see Creating and using a Dynamic Link Library (DLL) and Creating a using a static library. ソースコードを使用できるようになったら、既存のコードから [ファイル] > [新しい > プロジェクト] の順に選択して、新しい Visual Studio プロジェクトを作成することもできます。With source code available, you can also create a new Visual Studio project by choosing File > New > Project From Existing Code.

プロジェクトの外部にある Dll をデバッグするには、「 dll プロジェクトのデバッグ」を参照してください。To debug DLLs that are external to your project, see Debugging DLL projects. 独自の DLL プロジェクトをデバッグする必要があり、呼び出し元のアプリケーションのプロジェクトにアクセスできない場合は、「 dll プロジェクトからデバッグする方法」を参照してください。If you need to debug your own DLL project, but don't have access to the project for the calling application, see How to debug from a DLL project.

関連項目See also