C++ プロジェクトのコード マップ

C++ プロジェクトのより完全なマップを作成する場合は、そのプロジェクトに対してブラウザー情報のコンパイラ オプション (/FR) を設定します。 設定されていない場合は、メッセージが表示され、このオプションを設定することが求められます。 [OK]を選択した場合、このオプションは現在のマップに対してのみ設定されます。 以後のすべてのマップについて、メッセージを非表示にするように選択できます。

Visual C++ のプロジェクトを含むソリューションを開くときは、IntelliSense データベースの更新に時間がかかる場合があります。 この間は、IntelliSense データベースの更新が終了するまで、ヘッダー ( .h または #include) ファイルのコード マップを生成できない場合があります。 更新の進行状況は、Visual Studio のステータス バーで監視できます。

  • ソリューションのすべてのソース ファイルとヘッダー ファイル間の依存関係を表示するには、 [アーキテクチャ][インクルード ファイルのグラフを生成] の順に選択します。

    Dependency graph for native code

  • 現在開いているファイルと関連するソース ファイルおよびヘッダー ファイルとの間の依存関係を表示するには、そのソース ファイルまたはヘッダー ファイルを開きます。 ファイル内の任意の場所でファイル ショートカット メニューを開きます。 [インクルード ファイルのグラフを生成]をクリックします。

    First-level dependency graph for .h file

C および C++ コードのコード マップのトラブルシューティング

これらの項目は C および C++ コードではサポートされていません。

  • 基本型は、親階層を含むマップには表示されません。

  • 表示 メニューのほとんどの項目は、C および C++ コードでは使用できません。

C および C++ のコードのコード マップを生成するときに、次の問題が発生する場合があります。

問題点 考えられる原因 解像度
コード マップを生成できませんでした。 ソリューション内のプロジェクトが正常にビルドされませんでした。 発生したビルド エラーを修正してから、マップを再生成します。
[アーキテクチャ] メニューからコード マップを生成しようとすると、Visual Studio が応答しなくなる。 プログラム データベース (.pdb) ファイルが壊れている可能性があります。

.pdb ファイルには、型、メソッド、ソース ファイル情報などのデバッグ情報が格納されます。
ソリューションをリビルドしてから、もう一度実行します。
IntelliSense 参照データベースの特定の設定が無効になる。 IntelliSense の特定の設定が、Visual Studio の [オプション] ダイアログ ボックスで無効になっている可能性があります。 設定をオンにして有効にします。

[オプション]、[テキスト エディター]、[C/C++]、[詳細]」を参照してください。
" 不明なメソッド " という内容のメッセージがメソッド ノードで表示される。

この問題は、メソッドの名前を解決できないために発生します。
バイナリ ファイルにベース再配置テーブルがない可能性があります。 リンカーで /FIXED:NO オプションをオンにします。
プログラム データベース (.pdb) ファイルがビルドされていない可能性があります。

.pdb ファイルには、型、メソッド、ソース ファイル情報などのデバッグ情報が格納されます。
リンカーで /DEBUG オプションをオンにします。
予想される場所で .pdb ファイルを開くことができないか、ファイルが見つかりません。 .pdb ファイルが予想される場所にあることを確認します。
デバッグ情報が .pdb ファイルから取り除かれています。 /PDBSTRIPPED オプションをリンカーで使用した場合は、代わりに完全な .pdb ファイルを使用します。
呼び出し元が関数ではなく、バイナリ ファイル内のサンクまたはデータ セクション内のポインターです。 呼び出し元がサンクの場合は、 _declspec(dllimport) を使用してサンクの回避を試みます。