C++ デバッグ構成のプロジェクト設定
C または C++ のデバッグ構成のプロジェクト設定は [プロパティ ページ] ダイアログ ボックスで変更できます。「方法: デバッグ構成とリリース構成を設定する」を参照してください。 次の表は、[プロパティ ページ] ダイアログ ボックスのデバッガー関連の設定の場所を示しています。
Note
[構成プロパティ]/[デバッグ] カテゴリのデバッグ プロジェクト設定は、UWP アプリと、C++ で記述されているコンポーネントでは異なります。 「デバッグ セッションの開始 (VB、C#、C++、および XAML)」を参照してください。
各デバッグ プロパティ設定は自動的に作成され、ソリューションを保存するときに、ソリューションの "ユーザー単位の" ファイル (.vcxproj.user) に保存されます。
使用するデバッガーは、次の表で説明するように、[起動するデバッガー] ボックスで指定します。 選択したデバッガーによって、表示されるプロパティが異なります。
[構成プロパティ] フォルダー ([デバッグ] カテゴリ)
設定 | 説明 |
---|---|
[起動するデバッガー] | 実行するデバッガーを指定します。次の中から選択します。 - ローカル Windows デバッガー - リモート Windows デバッガー - Web ブラウザー デバッガー - Web Service デバッガー |
[コマンド] (ローカル Windows デバッガー) | ローカル コンピューターでデバッグするプログラムを起動するコマンドを指定します。 |
[リモート コマンド] (リモート Windows デバッガー) | リモート コンピューター上の .exe のパスを指定します。 リモート コンピューターでパスを入力するようにパスを入力します。 |
[コマンド引数] (ローカル Windows デバッガー) [リモート コマンド引数] (ローカル Windows デバッガー) |
- 前に指定したコマンドの引数を指定します。 このボックスでは、次のリダイレクト演算子を使用できます。 < file 標準入力を file から読み取ります。 > file 標準出力を file に書き込みます。 >> file 標準出力を file に追加します。 2> file 標準エラー出力を file に書き込みます。 2>> file 標準エラー出力を file に追加します。 2> &1 標準エラー出力 (2) を標準出力 (1) と同じ位置に出力します。 1> &2 標準出力 (1) を標準エラー出力 (2) と同じ位置に出力します。 ほとんどの場合、これらの演算子はコンソール アプリケーションでのみ有効です。 コマンドで文字をエスケープする必要がある場合は、ASCII 値を使用できます (たとえば、% の代わりに %25 とします)。 [デバッグの開始] コマンドを使用する場合、二重引用符で前のコマンドをエスケープします (たとえば、< の代わりに "<" とします)。 |
作業ディレクトリ | デバッグするプログラムの作業ディレクトリを、EXE ファイルがあるプロジェクト ディレクトリを基準とした相対パスで指定します。 この設定を空白のままにした場合、作業ディレクトリはプロジェクト ディレクトリになります。 リモート デバッグの場合、プロジェクト ディレクトリはリモート サーバーにあります。 |
[アタッチ] (ローカル Windows デバッガーとリモート Windows デバッガー) | アプリケーションを起動するか、またはアプリケーションにアタッチするかを指定します。 既定の設定は [いいえ] です。 |
[リモート サーバー名] (リモート Windows デバッガー) | アプリケーションをデバッグするコンピューター (自分のコンピューター以外) の名前を指定します。 RemoteMachine ビルド マクロには、このプロパティの値を設定します。詳細については、ビルドのコマンドとプロパティのマクロに関するページを参照してください。 |
[接続] (リモート Windows デバッガー) | リモート デバッグ用の接続の種類を、標準の接続と認証を使用しない接続の間で切り替えます。 [リモート サーバー名] ボックスでリモート コンピューター名を指定します。 接続の種類には、次のようなものがあります。 - Windows 認証でリモート接続する - 認証なしでリモート接続する メモ 認証を使用しないリモート デバッグを行うと、セキュリティ違反に対してリモート コンピューターが脆弱になる可能性があります。 Windows 認証モードの方がより安全です。 詳細については、「Remote debugging setup」 (リモート デバッグの設定) を参照してください。 |
[HTTP URL] (Web Service デバッガーと Web ブラウザー デバッガー) | デバッグするプロジェクトが存在する URL を指定します。 |
[デバッガーのタイプ] | 使用するデバッガーの種類を指定します。[ネイティブのみ]、[マネージドのみ]、[GPU のみ]、[混合]、[自動] (既定)、または [スクリプト] を選択します。 - [ネイティブのみ] は、アンマネージ C++ コードに使用します。 - [マネージドのみ] は、共通言語ランタイムで実行されるコード (マネージド コード) に使用します。 - [混合] を選択すると、マネージド コードとアンマネージド コードのデバッガーが起動します。 - [自動] を選択すると、コンパイラと EXE の情報に基づいてデバッガーの種類が決まります。 - [スクリプト] を選択すると、スクリプトのデバッガーが起動します。 - [GPU のみ] は、GPU デバイスまたは DirectX リファレンス ラスターライザーで実行される C++ AMP コードに使用します。 「GPU コードのデバッグ」を参照してください。 |
[環境] (ローカル Windows デバッガーとリモート Windows デバッガー) | デバッグするプログラムの環境変数を指定します。 標準的な環境変数の構文を使用します (例: PATH="%SystemRoot%\..." )。 各変数は、[マージ環境] の設定に応じて、システム環境をオーバーライドするか、システム環境にマージされます。 右の列内でクリックすると、[編集] が表示されます。 そのリンクを選択してプロパティ エディターを開き、環境変数を編集します。 複数の環境変数を追加するには、プロパティ エディターを使用して、1 行ごとに 1 つの変数を追加します。 |
[マージ環境] (ローカル Windows デバッガー) | [環境] ボックスで指定した変数を、オペレーティング システムによって定義されている環境にマージするかどうかを決定します。 既定の設定は [はい] です。 |
[SQL デバッグ] (MPI クラスター デバッガーを除くすべて) | Visual C++ アプリケーションから SQL プロシージャのデバッグを有効にします。 既定の設定は [いいえ] です。 |
[デバッグ アクセラレータの種類] (GPU デバッグのみ) | デバッグに使用する GPU デバイスを指定します。 互換性のある GPU デバイス用のデバイス ドライバーをインストールするとその他のオプションが追加されます。 既定の設定は [GPU - ソフトウェア エミュレーター] です。 |
[GPU 既定のブレークポイントの動作] (GPU デバッグのみ) | ブレークポイント イベントを SIMD ワープの各スレッドごとに発生させるかどうかを指定します。 既定の設定では、1 ワープごとに 1 回、ブレークポイント イベントが発生します。 |
[AMP の既定のアクセラレータ] | GPU コードをデバッグする際、既定の AMP のアクセラレータを指定します。 問題の原因がコードではなく、ハードウェアやドライバーにあるかどうかを調査するには、[WARP ソフトウェアのアクセラレータ] を選択します。 |
[配置ディレクトリ] (リモート Windows デバッガー) | 起動前にプロジェクト出力がコピーされるリモート コンピューター上のパスを指定します。 このパスとして、リモート コンピューター上のネットワーク共有、またはリモート コンピューター上のフォルダーへのパスを指定できます。 既定の設定は空で、プロジェクト出力はネットワーク共有にコピーされます。 ファイルの配置を有効にするには、[構成マネージャー] ダイアログ ボックスで [配置] チェック ボックスをオンにする必要もあります。 詳細については、構成を作成および編集する」を参照してください。 |
[配置する追加ファイル] (リモート Windows デバッガー) | 配置ディレクトリのプロパティを設定している場合、配置ディレクトリにコピーする追加フォルダーまたはファイルのセミコロン区切りのリストを指定します。 既定の設定は空で、配置ディレクトリにコピーされる追加フォルダーまたはファイルはありません。 フォルダーの内容を配置ディレクトリ内の同じフォルダーにコピーするには、フォルダー名を指定します。 ファイルの配置を有効にするには、[構成マネージャー] ダイアログ ボックスで [配置] チェック ボックスをオンにする必要もあります。 詳細については、構成を作成および編集する」を参照してください。 |
[Visual C++ デバッグ ランタイム ライブラリの配置] (リモート Windows デバッガー) | 配置ディレクトリのプロパティを設定している場合、現在のプラットフォーム用の Visual C++ デバッグ ランタイム ライブラリをネットワーク共有にコピーする必要があるかどうかを指定します。 既定の設定は [はい] です。 |
C/C++ フォルダー ([全般] カテゴリ)
設定 | 説明 |
---|---|
[デバッグ情報の形式] (/Z7、/Zd、Zi、/ZI) | プロジェクトに作成するデバッグ情報の種類を指定します。 既定のオプション (/ZI) では、プログラム データベース (PDB) がエディット コンティニュ互換形式で作成されます。 詳細については、/Z7、/Zd、/Zi、/ZI (デバッグ情報の形式) に関するページを参照してください。 |
[C/C++] フォルダー ([最適化] カテゴリ)
設定 | 説明 |
---|---|
Optimization | コンパイラが生成したコードを最適化するかどうかを指定します。 最適化すると、実行されるコードが変更されます。 最適化されたコードはソース コードと一致しなくなるため、デバッグがいっそう困難になります。 既定のオプション ([無効 (/0d)]) では、最適化は行われません。 最適化を行わずにコードを開発し、実行環境用のコードを作成するときに最適化をオンにできます。 |
[リンカー] フォルダー ([デバッグ] カテゴリ)
設定 | 説明 |
---|---|
[デバッグ情報を作成] (/DEBUG) | デバッグ情報を含めるようにリンカーに指示します。デバッグ情報の形式は、/Z7、/Zd、Zi、または /ZI で指定されます。 |
[プログラム データベース ファイルの生成] (/PDB:name) | このボックスでは、プログラム データベース (PDB) ファイルの名前を指定します。 [デバッグ情報の形式] で ZI または /Zi を選択する必要があります。 |
[プライベート シンボルの削除] (/PDBSTRIPPED:filename) | PDB ファイルのプライベート シンボルを含めない場合は、このボックスに PDB ファイルの名前を指定します。 PDB ファイルを生成するいずれかのコンパイラ オプションまたはリンカー オプションを使ってプログラム イメージをビルドするときにこのオプションを指定すると、2 番目の PDB ファイルが作成されます (コンパイラ オプションまたはリンカー オプションの例: /DEBUG、/Z7、/Zd、 /Zi など)。 2 番目の PDB ファイルでは、顧客に提供しないシンボルが省かれています。 詳細については、「/PDBSTRIPPED (プライベート シンボルの除去)」を参照してください。 |
[マップ ファイルの作成] (/MAP) | リンク中にマップ ファイルを生成するようにリンカーに指示します。 既定の設定は [いいえ] です。 詳細については、「/MAP (マップ ファイルの生成)」を参照してください。 |
[マップ ファイル名] (/MAP:name) | [マップ ファイルの作成] を選択する場合は、このボックスにマップ ファイルを指定できます。 詳細については、「/MAP (マップ ファイルの生成)」を参照してください。 |
[マップファイルのエクスポート] (/MAPINFO:EXPORTS) | エクスポートされた関数をマップ ファイルに含めます。 既定の設定は [いいえ] です。 詳細については、「/MAPINFO (マップ ファイルに含める情報)」を参照してください。 |
[デバッグできるアセンブリ] (/ASSEMBLYDEBUG) | リンカーの /ASSEMBLYDEBUG オプションの設定を指定します。 次のいずれかの値になります。 - [デバッグできる属性が作成されませんでした]。 - [ランタイム トラッキングおよび最適化の無効 (/ASSEMBLYDEBUG)]。 これが既定の設定です。 - [ランタイム トラッキングおよび最適化の有効を無効にする (/ASSEMBLYDEBUG:DISABLE)]。 - <親またはプロジェクトの既定値から継承>。 - 詳細については、「/ASSEMBLYDEBUG (DebuggableAttribute の追加)」を参照してください。 |
[構成プロパティ] フォルダー ([デバッグ] カテゴリ) 内のこれらの設定は、Microsoft.VisualStudio.VCProjectEngine.VCDebugSettings インターフェイスを使用してプログラムで変更できます。 詳細については、VCDebugSettingsを参照してください。
その他のプロジェクト設定
スタティック ライブラリや DLL などのプロジェクトの種類をデバッグするには、Visual Studio プロジェクトで正しいファイルを見つけることができる必要があります。 ソース コードが使用可能な場合は、スタティック ライブラリと DLL を別のプロジェクトとして同じソリューションに追加して、デバッグを容易にすることができます。 これらのプロジェクトの種類を作成する方法の詳細については、ダイナミック リンク ライブラリ (DLL) の作成と使用およびスタティック ライブラリの作成と使用に関するページを参照してください。 ソース コードを使用できる場合は、[ファイル]>[新規作成]>[既存のコードからプロジェクトを作成] を選択して、新しい Visual Studio プロジェクトを作成することもできます。
プロジェクトの外部にある DLL をデバッグするには、DLL プロジェクトのデバッグに関するページを参照してください。 独自の DLL プロジェクトをデバッグする必要があり、しかし呼び出し元アプリケーションのプロジェクトにアクセスできない場合は、DLL プロジェクトからデバッグする方法に関するページを参照してください。