デバッグの準備:Visual C++ プロジェクトの種類Debugging Preparation: Visual C++ Project Types

ここでは、Visual C++Visual C++ プロジェクト テンプレートで作成された基本的なプロジェクトの種類をデバッグする方法について説明します。This section describes how to debug the basic project types created by the Visual C++Visual C++ project templates.

Dll を出力として作成するプロジェクトの種類は、共通の機能があるため、デバッグ Dll プロジェクトにグループ化されていることに注意してください。Note that those project types that create DLLs as their output have been grouped into Debugging DLL Projects because of the common features they share.

このトピックの内容In this topic

プロパティの推奨設定Recommended property settings

Win32 プロジェクトWin32 projects

プロパティによっては、すべてのアンマネージ デバッグ シナリオで同じように設定する必要があります。Certain properties should be set the same way for all unmanaged debugging scenarios. プロパティの推奨設定を以下に示します。The following tables display recommended property settings. ここに記載されていない設定は、アンマネージ プロジェクトの種類によって異なる場合があります。Settings not listed here may vary among the different unmanaged project types. 詳細については、「 C++デバッグ構成のプロジェクト設定」を参照してください。For more information, see Project Settings for a C++ Debug Configuration.

[構成|プロパティ]C++ | [C/最適化] ノードConfiguration Properties | C/C++ | Optimization node

プロパティ名Property Name 設定Setting
OptimizationOptimization [無効 (/0d)] に設定します。Set to Disabled (/0d). 最適化されたコードは、生成された命令がソース コードと直接対応していないため、デバッグが困難です。Optimized code is harder to debug, because the generated instructions do not correspond directly to your source code. プログラムで、最適化されたコード内だけに現れるバグが見つかった場合は、この設定を有効にできます。 [逆アセンブル] ウィンドウに表示されるコードは最適化されたソースから生成されているため、ソース ウィンドウに表示されるコードとは一致しない可能性があります。If you find your program has a bug that appears only in optimized code, you can turn this setting on, but remember that code shown in the Disassembly window is generated from optimized source that might not match what you see in your source windows. また、ステップなどの他の機能が正常に動作しない場合もあります。Other features, such as stepping, might not behave as expected.

構成プロパティ|リンカー |のデバッグノードConfiguration Properties | Linker | Debugging node

プロパティ名Property Name 設定Setting
デバッグ情報の生成Generate debugging information このオプションは、デバッグ シンボルとデバッグに必要なファイルを作成するために常に [はい (/DEBUG)] に設定する必要があります。You should always set this option to Yes (/DEBUG) to create debugging symbols and files needed for debugging. アプリケーションを稼働するときは、このオプションをオフに設定できます。When the application goes into production, you can set it to off.

このトピックの内容In this topic

Win32 プロジェクトWin32 projects

Win32 アプリケーションは、C または C++ で記述される従来の Windows プログラムです。Win32 applications are traditional Windows programs written in C or C++. Visual StudioVisual Studio では、この種類のアプリケーションを簡単にデバッグできます。Debugging this type of application in Visual StudioVisual Studio is straightforward.

Win32 アプリケーションには、MFC アプリケーションと ATL プロジェクトが含まれます。Win32 applications include MFC applications and ATL projects. これらは Windows API を使用します。MFC や ATL を使用することはありますが、共通言語ランタイム (CLR: Common Language Runtime) は使用しません。They use Windows APIs and may use MFC or ATL, but they do not use the common language runtime (CLR). ただし、CLR を使用するマネージド コードを呼び出すことはできます。They can, however, call managed code that uses the CLR.

次の手順では、Visual StudioVisual Studio 内から Win32 プロジェクトをデバッグする方法を説明します。The following procedure explains how to debug a Win32 project from within Visual StudioVisual Studio. Win32 アプリケーションをデバッグするもう 1 つの方法では、Visual StudioVisual Studio の外部でアプリケーションを起動してアタッチします。Another way to debug a Win32 application is to start the application outside of Visual StudioVisual Studio and attach to it. 詳細については、「実行中のプロセスへのアタッチ」を参照してください。For more information, see Attach to Running Processes.

C または C++ の Win32 アプリケーションをデバッグするにはTo debug a C or C++ Win32 application

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

  2. [デバッグ] メニューの [開始] を選びます。On the Debug menu, choose Start.

  3. デバッガーの概要」で説明されている手法を使用してデバッグします。Debug using the techniques discussed in First look at the debugger.

デバッグ構成を手動で設定するにはTo manually set a Debug configuration

  1. [表示] メニューの [プロパティ ページ] をクリックします。On the View menu, click Property Pages.

  2. [構成プロパティ] ノードが開いていない場合は、ノードをクリックして開きます。Click the Configuration Properties node to open it if it is not already

  3. [全般] をクリックし、 [出力] 行の値を [デバッグ] に設定します。Select General, and set the value of the Output row to Debug.

  4. [C/C++] ノードを開き、 [全般] をクリックします。Open the C/C++ node, and select General.

    [デバッグ] 行で、コンパイラで生成するデバッグ情報の種類を指定します。In the Debug row you specify the type of debugging information to be generated by the compiler. 選択できる値は、 [プログラム データベース (/Zi)][エディット コンティニュ用プログラム データベース (/ZI)] などです。Values you might choose include Program Database (/Zi) or Program Database for Edit & Continue (/ZI).

  5. [最適化] をクリックし、 [最適化] 行で、ドロップダウン リストの [無効 (/0d)] をクリックします。Select Optimization, and in the Optimization row, select Disabled (/0d) from the drop-down list.

    最適化されたコードは、生成された命令がソース コードと直接対応していないため、デバッグが困難です。Optimized code is harder to debug, because the generated instructions do not correspond directly to your source code. プログラムで、最適化されたコード内だけに現れるバグが見つかった場合は、この設定を有効にできます。[逆アセンブル] ウィンドウに表示されるコードは最適化されたソースから生成されているため、ソース ウィンドウに表示されるコードとは一致しない可能性があります。If you find your program has a bug that appears only in optimized code, you can turn this setting on, but remember that code shown in the Disassembly window is generated from optimized source that may not match what you see in your source windows. ステップ実行などの機能で、ブレークポイントや実行ポイントが正しく表示されない場合があります。Features such as stepping are likely to show breakpoints and execution point incorrectly.

  6. [リンカー] ノードを開き、 [デバッグ] をクリックします。Open the Linker node, and select Debugging. 最初の [デバッグ情報の生成] 行で、ドロップダウン リストの [はい (/DEBUG)] をクリックします。In the first Generate row, select Yes (/DEBUG) from the drop-down list. デバッグ時には、必ずこのオプションを設定する必要があります。Always set this when you are debugging.

    詳細については、「 C++デバッグ構成のプロジェクト設定」を参照してください。For more information, seeProject Settings for a C++ Debug Configuration.

    このトピックの内容In this topic

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

Windows フォーム アプリケーション (.NET) テンプレートを使用して Visual C++Visual C++ Windows フォーム アプリケーションを作成できます。The Windows Forms Application (.NET) template creates a Visual C++Visual C++ Windows Forms application. 詳細については、「方法 :Windows アプリケーション プロジェクトを作成する」を参照してください。For more information, see How to: Create a Windows Application Project.

この種のアプリケーションを Visual StudioVisual Studio でデバッグする作業は、マネージド Windows フォーム アプリケーションのデバッグ作業に似ています。Debugging this type of application in Visual StudioVisual Studio is similar to that in managed Windows Forms applications.

プロジェクト テンプレートを使用して Windows フォーム プロジェクトを作成する場合、デバッグ構成とリリース構成に必要な設定は Visual StudioVisual Studio によって自動的に作成されます。When you create a Windows Forms project with the project template, Visual StudioVisual Studio automatically creates required settings for the Debug and Release configurations. 必要に応じて、これらの設定を [<プロジェクト名> プロパティ ページ] ダイアログ ボックスで変更できます。If necessary, you can change these settings in the <project name> Property Pages dialog box. 詳細については、デバッグ構成とリリース構成に関するページを参照してください。For more information, see Debug and Release Configurations.

詳細については、「 C++デバッグ構成のプロジェクト設定」を参照してください。For more information, see Project Settings for a C++ Debug Configuration.

Windows フォーム アプリケーションをデバッグするもう 1 つの方法では、Visual StudioVisual Studio の外部でアプリケーションを起動してアタッチします。Another way to debug a Windows Forms application is to start the application outside of Visual StudioVisual Studio and attach to it. 詳細については、「実行中のプログラムまたは複数のプログラムへのアタッチ」を参照してください。For more information, see Attaching to a Running Program or Multiple Programs.

このトピックの内容In this topic

関連項目See Also