このセクションでは、Visual C++ プロジェクト テンプレートによって作成された基本的なプロジェクトの種類をデバッグする方法について説明します。
DLL を出力として作成するプロジェクトの種類は、共有する一般的な機能のため、 デバッグ DLL プロジェクト にグループ化されていることに注意してください。
このトピックの内容
推奨されるプロパティの設定
一部のプロパティは、すべてのアンマネージド デバッグ シナリオで同じ方法で設定する必要があります。 次の表に、推奨されるプロパティ設定を示します。 ここに記載されていない設定は、アンマネージド プロジェクトの種類によって異なる場合があります。 詳細については、「 C++ デバッグ構成のプロジェクト設定」を参照してください。
構成プロパティ |C/C++ |最適化ノード
| プロパティ名 | Setting |
|---|---|
| [最適化] | 無効 (/0d) に設定します。生成された命令はソース コードに直接対応していないため、最適化されたコードはデバッグが困難です。 最適化されたコードにのみ表示されるバグがプログラムにある場合は、この設定を有効にできますが、[ 逆アセンブル ] ウィンドウに表示されるコードは、ソース ウィンドウに表示される内容と一致しない可能性がある最適化されたソースから生成されることに注意してください。 ステップ実行などの他の機能は、想定どおりに動作しない可能性があります。 |
構成プロパティ |リンカー |デバッグ ノード
| プロパティ名 | Setting |
|---|---|
| デバッグ情報の生成 | デバッグに必要なデバッグ シンボルとファイルを作成するには、常にこのオプションを [はい] (/DEBUG) に設定する必要があります。 アプリケーションが運用環境に移行したら、オフに設定できます。 |
Win32 プロジェクト
Win32 アプリケーションは、C または C++ で記述された従来の Windows プログラムです。 Visual Studio でのこの種類のアプリケーションのデバッグは簡単です。
Win32 アプリケーションには、MFC アプリケーションと ATL プロジェクトが含まれます。 Windows API を使用し、MFC または ATL を使用できますが、共通言語ランタイム (CLR) は使用しません。 ただし、CLR を使用するマネージド コードを呼び出すことができます。
次の手順では、Visual Studio 内から Win32 プロジェクトをデバッグする方法について説明します。 Win32 アプリケーションをデバッグするもう 1 つの方法は、Visual Studio の外部でアプリケーションを起動し、それにアタッチすることです。 詳細については、「 実行中のプロセスへのアタッチ」を参照してください。
C または C++ Win32 アプリケーションをデバッグするには
Visual Studio でプロジェクトを開きます。
[ デバッグ ] メニューの [ スタート] を選択します。
デバッガーの最初の確認で説明されている手法 を使用してデバッグします。
デバッグ構成を手動で設定するには
[ 表示 ] メニューの [ プロパティ ページ] をクリックします。
[構成プロパティ] ノードをクリックして開きます (まだ開いていない場合)。
[ 全般] を選択し、[ 出力 ] 行の値を [デバッグ] に設定します。
C/C++ ノードを開き、[全般] を選択します。
[ デバッグ ] 行で、コンパイラによって生成されるデバッグ情報の種類を指定します。 選択できる値には、 Program Database (/Zi) または Program Database for Edit & Continue (/ZI) があります。
[ 最適化] を選択し、[ 最適化 ] 行のドロップダウン リストから [無効 (/0d)] を選択します。
生成された命令はソース コードに直接対応していないため、最適化されたコードはデバッグが困難です。 最適化されたコードにのみ表示されるバグがプログラムにある場合は、この設定を有効にできますが、[逆アセンブル] ウィンドウに表示されるコードは、ソース ウィンドウに表示される内容と一致しない可能性がある最適化されたソースから生成されることに注意してください。 ステップ実行などの機能では、ブレークポイントと実行ポイントが正しく表示されない可能性があります。
リンカー ノードを開き、[デバッグ] を選択します。 最初の [生成 ] 行で、ドロップダウン リストから [はい] (/DEBUG) を選択します。 デバッグする場合は、常にこれを設定します。
詳細については、「 C++ デバッグ構成のプロジェクト設定」を参照してください。