共用方式為


C++ 專案的程式碼地圖

如果您想要為 C++ 專案建立更完整的映射文件,請為那些專案設定瀏覽資訊編譯選項 (/FR)。 否則,會出現一則訊息,並提示您設定此選項。 如果您選取 [確定],則只會設定目前地圖的選項。 您可以選擇隱藏所有後續地圖的訊息。

當您開啟包含 Visual C++ 專案的解決方案時,可能需要一些時間來更新 IntelliSense 資料庫。 在此期間,在 IntelliSense 資料庫完成更新之前,您可能無法建立標頭 (.h#include) 檔案的程式碼對應。 您可以在 Visual Studio 狀態列中監視更新進度。

  • 若要查看解決方案中所有來源檔案與標頭檔案之間的相依性,請選取 [架構>產生包含檔案的圖形]。

    原生程式碼的相依性圖表

  • 若要查看目前開啟的檔案與相關來源檔案和標頭檔之間的相依性,請開啟來源檔案或標頭檔。 開啟檔案內任何位置的檔案捷徑功能表。 選擇 生成包含檔案的圖表

    .h 檔案的第一層相依性圖表

針對 C 和 C++ 程式碼的程式碼對應進行疑難排解

C 和 C++ 程式碼不支援下列項目:

  • 基本類型不會出現在包含父層級的映射上。

  • 大部分的 [顯示] 功能表項目不適用於 C 和 C++ 程式碼。

當您建立 C 和 C++ 程式碼的程式碼對應時,可能會發生下列問題:

Issue 可能的原因 Resolution
代碼映射生成失敗。 解決方案中沒有成功建置任何專案。 修正發生的建置錯誤,然後重新生成地圖。
當您嘗試從 [架構] 功能表產生程式碼地圖時,Visual Studio 會無法回應。 程式資料庫 (.pdb) 檔案可能已損毀。

.pdb 檔案會儲存偵錯資訊,例如類型、方法和來源檔案資訊。
重建解決方案,然後再試一次。
IntelliSense 瀏覽資料庫的某些設定已停用。 某些 IntelliSense 設定可能會在 [Visual Studio 選項] 對話方塊中停用。 開啟設定以啟用它們。

請參閱 選項、文字編輯器、C/C++、進階
訊息 未知方法 會出現在方法節點上。

發生此問題的原因是無法解析方法的名稱。
二進位檔可能沒有基本重新定位表格。 開啟連結器中的 /FIXED:NO 選項。
可能未建置程式資料庫 (.pdb) 檔案。

.pdb 檔案會儲存偵錯資訊,例如類型、方法和來源檔案資訊。
開啟連結器中的 /DEBUG 選項。
無法在預期位置開啟或尋找 .pdb 檔案。 請確定 .pdb 檔案存在於預期的位置。
偵錯資訊已從 .pdb 檔案中移除。 如果連結器中使用 /PDBSTRIPPED 選項,請改為包含完整的 .pdb 檔案。
呼叫端不是一個函式,而是二進位檔中的 thunk 或資料區段中的指標。 當呼叫者是 thunk 時,請嘗試使用 _declspec(dllimport) 來避免 thunk。