デバッグの準備 : Visual C++ のプロジェクト

ここでは、Visual C++ プロジェクト テンプレートで作成された基本的なプロジェクトの種類をデバッグする方法について説明します。

出力として DLL を作成するプロジェクトについては、種類を通じて共通する特徴があるため、「DLL プロジェクトのデバッグ」にまとめてあります。

このトピックの内容

推奨されるプロパティの設定

Win32 プロジェクト

  • C または C++ の Win32 アプリケーションをデバッグするには

  • デバッグ構成を手動で設定するには

Windows フォーム アプリケーション (.NET)

推奨されるプロパティの設定

プロパティによっては、すべてのアンマネージ デバッグ シナリオで同じように設定する必要があります。プロパティの推奨設定を以下に示します。ここに記載されていない設定は、アンマネージ プロジェクトの種類によって異なる場合があります。詳細については、「C++ デバッグ構成のプロジェクト設定」を参照してください。

構成プロパティ | C/C++ | 最適化ノード

プロパティ名

設定

[最適化]

[Disabled (/0d).] に設定 最適化されたコードは、生成された命令がソース コードと直接対応していないため、デバッグが困難です。プログラムで、最適化されたコード内だけに現れるバグが見つかった場合は、この設定を有効にできます。逆アセンブル ウィンドウに表示されるコードは最適化されたソースから生成されているため、ソース ウィンドウに表示されるコードとは一致しない可能性があります。また、ステップなどの他の機能が正常に動作しない場合もあります。

構成プロパティ | リンカー | デバッグ ノード

プロパティ名

設定

[デバッグ情報の生成]

このオプションは、デバッグ シンボルとデバッグに必要なファイルを作成するために常に [はい (/DEBUG)] に設定する必要があります。アプリケーションを稼働するときは、このオプションをオフに設定できます。

このトピックの内容

Win32 プロジェクト

Win32 アプリケーションは、C または C++ で記述される従来の Windows プログラムです。Visual Studio では、この種類のアプリケーションを簡単にデバッグできます。

Win32 アプリケーションには、MFC アプリケーションと ATL プロジェクトが含まれます。これらは Windows API を使用します。MFC や ATL を使用することはありますが、共通言語ランタイム (CLR: Common Language Runtime) は使用しません。ただし、CLR を使用するマネージ コードを呼び出すことはできます。

次の手順では、Visual Studio 内から Win32 プロジェクトをデバッグする方法を説明します。Win32 アプリケーションをデバッグするもう 1 つの方法では、Visual Studio の外部でアプリケーションを起動してアタッチします。詳細については、「実行中のプロセスへのアタッチ」を参照してください。

tdb6bs3y.collapse_all(ja-jp,VS.110).gifC または C++ の Win32 アプリケーションをデバッグするには

  1. Visual Studio でプロジェクトを開きます。

  2. [デバッグ] メニューの [開始] をクリックします。

  3. デバッガーのロードマップ」で説明されている方法でデバッグします。

tdb6bs3y.collapse_all(ja-jp,VS.110).gifデバッグ構成を手動で設定するには

  1. [表示] メニューの [プロパティ ページ] をクリックします。

  2. 存在しない場合はそれを開くに [構成プロパティ] のノードをクリックします。

  3. [全般] をクリックし、[出力] 行の値を [Debug] に設定します。

  4. [C/C++] ノードを開き、[全般] をクリックします。

    [デバッグ情報の形式] 行で、コンパイラで生成するデバッグ情報の種類を指定します。選択できる値は、[プログラム データベース (/Zi)][エディット コンティニュ用プログラム データベース (/ZI)] などです。

  5. [最適化] をクリックし、[最適化] 行で、ドロップダウン リストの [無効 (/0d)] をクリックします。

    最適化されたコードは、生成された命令がソース コードと直接対応していないため、デバッグが困難です。プログラムで、最適化されたコード内だけに現れるバグが見つかった場合は、この設定を有効にできます。[逆アセンブル] ウィンドウに表示されるコードは最適化されたソースから生成されているため、ソース ウィンドウに表示されるコードとは一致しない可能性があります。ステップ実行などの機能で、ブレークポイントや実行ポイントが正しく表示されない場合があります。

  6. [リンカー] ノードを開き、[デバッグ] をクリックします。最初の [デバッグ情報の生成] 行で、ドロップダウン リストの [はい (/DEBUG)] をクリックします。デバッグ時には、必ずこのオプションを設定する必要があります。

詳細については、「C++ デバッグ構成のプロジェクト設定」を参照してください。

このトピックの内容

Windows フォーム アプリケーション (.NET)

[Windows Forms Application (.NET)] テンプレートは Visual C++ の Windows フォーム アプリケーションを作成します。詳細については、「方法: 新しい Windows フォーム アプリケーション プロジェクトを作成する」を参照してください。

この種のアプリケーションを Visual Studio でデバッグする作業は、マネージ Windows フォーム アプリケーションのデバッグ作業に似ています。

プロジェクト テンプレートを使用して Windows フォーム プロジェクトを作成する場合、デバッグ構成とリリース構成に必要な設定は Visual Studio によって自動的に作成されます。必要に応じて、これらの設定を [<プロジェクト名> プロパティ ページ] ダイアログ ボックスで変更できます。詳細については、「デバッグ構成とリリース構成」を参照してください。

詳細については、「C++ デバッグ構成のプロジェクト設定」を参照してください。

Windows フォーム アプリケーションをデバッグするもう 1 つの方法では、Visual Studio の外部でアプリケーションを起動してアタッチします。詳細については、「実行中のプログラムまたは複数のプログラムへのアタッチ」を参照してください。

このトピックの内容

参照

処理手順

[デバッグおよびリリースの構成]

方法: 新しい Windows フォーム アプリケーション プロジェクトを作成する

関連項目

C++ デバッグ構成のプロジェクト設定

その他の技術情報

デバッガーのロードマップ

複数のプログラムへのアタッチ