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

C または C++ デバッグ構成でのプロジェクトの設定を変更することができます、プロパティ ページ ダイアログ ボックスで説明したよう方法。デバッグ構成とリリース構成を設定する」を参照してください。You can change the project settings for a C or Visual 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.user) ソリューションを保存するときに、ソリューション。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 のみMixed自動(既定)、またはスクリプト.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:名前)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 (マップ ファイルに含める情報)します。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

Visual Studio プロジェクトは、スタティック ライブラリと Dll などのプロジェクトの種類をデバッグするには、正しいファイルを検索できる必要があります。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