如果您想要為 C++ 專案建立更完整的映射文件,請為那些專案設定瀏覽資訊編譯選項 (/FR)。 否則,會出現一則訊息,並提示您設定此選項。 如果您選取 [確定],則只會設定目前地圖的選項。 您可以選擇隱藏所有後續地圖的訊息。
當您開啟包含 Visual C++ 專案的解決方案時,可能需要一些時間來更新 IntelliSense 資料庫。 在此期間,在 IntelliSense 資料庫完成更新之前,您可能無法建立標頭 (.h 或 #include) 檔案的程式碼對應。 您可以在 Visual Studio 狀態列中監視更新進度。
若要查看解決方案中所有來源檔案與標頭檔案之間的相依性,請選取 [架構>產生包含檔案的圖形]。
若要查看目前開啟的檔案與相關來源檔案和標頭檔之間的相依性,請開啟來源檔案或標頭檔。 開啟檔案內任何位置的檔案捷徑功能表。 選擇 生成包含檔案的圖表。
針對 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。 |