快速入門:C/C++ 程式碼分析
您可以以 C 或 C++ 程式碼透過規則執行程式碼分析改進應用程式的品質。這可協助您尋找常見問題、很難藉由測試找到的違規良好的程式設計或缺失。程式碼分析警告與編譯器錯誤和警告不同,因為程式碼分析搜尋有效的特定程式碼模式,但對您的程式碼您或使用您的程式碼的其他人仍可建立問題。
需求
- Visual Studio Ultimate, Visual Studio Premium, Visual Studio Professional
本主題內容
設定專案的規則集
在 [方案總管] 中,開啟專案名稱的捷徑功能表,然後選擇 [屬性]。
下列步驟是選擇性的:
在 [組態] 和 [平台] 清單中,選取組建組態和目標平台。
根據預設,由外部工具所自動產生的程式碼,程式碼分析不會報告警告。若要檢視所產生程式碼中的警告,請清除 [隱藏所產生程式碼的結果] 核取方塊。
注意事項 表單和範本中出現錯誤和警告時,這個選項不會隱藏所產生程式碼的程式碼分析錯誤和警告。您可以同時檢視及維護表單或範本的原始程式碼。
若要在每一次使用選取的組態建置專案時執行程式碼分析,請選取 [建置時啟用C/C++ 程式碼分析] 核取方塊。您也可以開啟 [分析] 功能表並選擇 [針對 ProjectName執行程式碼分析],手動執行程式碼分析。
在 [執行此規則集] 清單中,執行下列其中一項操作:
選取想要使用的規則。
按一下 [<瀏覽>] 以指定不在清單中的現有自訂規則集。
定義自訂規則集。
如需詳細資訊,請參閱建立自訂程式碼分析規則集。
標準 C/C++ 規則集
Visual Studio 包含兩個標準規則集機器碼:
規則集 |
說明 |
---|---|
Microsoft 機器碼最小建議規則 |
這些規則的重點在於機器碼中最關鍵的問題,包括潛在的安全性漏洞和應用程式損毀。您應該在您為原生專案建立的任何自訂規則集中都包含這個規則集。 |
Microsoft 原生建議規則。 |
這個規則集包含各種問題。它在原生 Microsoft 最小建議規則包含的所有規則。 |
執行程式碼分析。
在專案屬性頁的 [程式碼分析],每次建置專案時,您可以設定程式碼分析執行。您也可以手動執行程式碼分析。
在方案中執行程式碼分析:
- 在功能表列上, [建置]清單, 選取[針對方案執行程式碼分析]。
在專案中執行程式碼分析:
在[方案總管] 中,選取專案的名稱。
在功能表列上, [建置]清單, 選取[針對Project Name執行程式碼分析]。
專案或方案被編譯和執行程式碼分析。結果會出現在程式碼分析視窗。
分析並剖析程式碼分析警告
若要分析特定警告,請選取在程式碼分析的視窗警告的標題。警告會展開顯示問題的其他資訊。如果可能,程式碼分析會顯示行號,而且會造成警告的分析邏輯。如需警告的詳細資訊,包括對這個問題可能的解決方案,請在訊息上 MSND Library 選取警告 ID 來顯示說明主題。
當您展開警告時,造成警告的程式碼在 Visual Studio 程式碼編輯器會反白顯示。
在您了解問題之後,您就可以在您的程式碼中剖析它。然後傳回執行程式碼分析,以確定警告就不會再出現在 [程式碼分析] 視窗中,而且您的內建未引發新的警告。
提示 |
---|
您可以在程式碼分析視窗中重新執行程式碼分析。選取 [分析] 按鈕並選取要分析的範圍。您可以在整個方案或在選取的專案重新執行分析。 |
停用所有程式碼分析警告
您可能決定不修正程式碼分析警告的時候。您可能會決定剖析警告可能需要太多個在您的程式碼中的任何實際的實作會隨即出現的重打問題要求。或者您可能認為用來警告的程式碼剖析的特定內容是不正確的。您可以隱藏個別的警告,讓它們不再出現在 [程式碼分析] 視窗。
隱藏警告:
如果這個詳細資訊並未顯示,請選取警告的標題將它展開。
選取在警告的底部 [動作] 連結。
選取 [隱藏訊息] 然後選取 [在原始程式檔中]。
隱藏程式碼的警告訊息插入 #pragma warning (disable:WarningId) 。
建立程式碼分析警告的工作項目
您可以使用工作項目追蹤功能在 Visual Studio中記錄 Bug。若要使用此功能,您必須先連接到 Team Foundation Server 執行個體。
若要建立一個或多個 C/C++ 的工作項目類型的程式碼警告
在[程式碼分析] 視窗中,展開並選取警告
在警告的捷徑功能表中,選取 [建立工作項目],然後選取工作項目。
Visual Studio 會建立選取之警告的單一工作項目並且在 IDE 中顯示文件視窗中的工作項目。
將任何額外的資訊,然後選取 [儲存工作項目]。
搜尋和篩選程式碼分析結果
您可以搜尋警告訊息長清單,以及您可以篩選多專案方案的警告。
依標頭或警告 ID 篩選警告:在 [濾鏡] 輸入文字方塊的關鍵字。
依專案篩選警告。在多專案的方案,請在程式碼分析視窗的右上的清單中選取一個或多個專案。選擇方案名稱以顯示任何警告。
依嚴重性篩選警告。根據預設,程式碼分析訊息指派 [警告] 的嚴重性。您可以將一或多個訊息嚴重性為自訂規則集的 [錯誤] 。選取 [警告] 或 [錯誤] 以顯示指派個別嚴重性的訊息。選取 [所有] 顯示所有訊息。