使用程式碼分析工具進行應用程式品質分析
所有版本的 Visual Studio 2013 都可使用 [程式碼分析] 視窗。
程式碼分析功能
[程式碼分析] 視窗 |
程式碼分析警告現在會顯示在 [程式碼分析工具] 視窗中。此視窗可協助您管理和解決程式碼分析警告。 |
篩選警告訊息 |
您可以依關鍵字、專案和嚴重性,在視窗上篩選 [程式碼分析] 視窗上的訊息。 |
程式碼編輯器醒目提示 |
在 [程式碼分析] 視窗中選取一則訊息,就會在程式碼編輯器中醒目提示已觸發訊息的那一行原始碼。 |
C++ 訊息隱藏項目 |
在 [程式碼分析] 視窗中,您可以將 pragma 插入會隱藏所選警告的原始程式碼。 |
C++ 規則集 |
就像 Managed 程式碼,您現在也可以指定分析規則,透過建立或使用規則集將它套用到執行的程式碼分析。 |
Windows 市集應用程式的支援
您可以在 Windows 市集應用程式中對 Visual Basic、C# 和 C/++ 程式碼執行程式碼分析。如需詳細資訊,請參閱 Windows 開發人員中心的使用 Visual Studio 靜態程式碼分析,分析 Windows 市集應用程式的程式碼品質。
新的 C++ 並行警告
新的並行警告可協助您確保在多執行緒 C/C++ 程式中鎖定專業領域。分析會偵測多個並行處理問題,包括可能的競爭情形、鎖定順序反轉、呼叫端/被呼叫端鎖定合約違規,以及不相符的同步處理作業。
競爭條件。變數 <var> 應該受到鎖定 <lock> 保護。 |
|
無法對變數 <var> 正確使用連鎖作業。 |
|
鎖定順序違規。使用層級 <level> 取得鎖定 <lock> 會反轉順序。 |
|
呼叫端無法在呼叫函式 <func> 之前保留鎖定 <lock>。 |
|
呼叫端無法在呼叫函式 <func> 之前釋放鎖定 <lock>。 |
|
呼叫端無法在呼叫 <func> 之前保留任何鎖定。 |
|
無法釋放函式 <func> 中的鎖定 <lock>。 |
|
無法取得或保留 <func> 中的鎖定 <lock>。 |
|
釋放函式 <func> 中未保留的鎖定 <lock>。 |
|
函式 <func> 中遺漏註釋 _Requires_lock_held_(<lock>) 或 _No_competing_thread_。否則它可能是競爭條件。變數 <var> 應該受到鎖定 <lock> 保護。 |
|
函式 <func> 中遺漏註釋 <annotation>。 |
|
並行 SAL 註釋錯誤 |
|
呼叫端可能無法在呼叫函式 <func> 之前保留鎖定 <lock>。 |
|
可能無法釋放鎖定 |
|
可能無法取得或保留函式 <func> 中的鎖定 <lock>。 |
|
可能會釋放函式 <func> 中未保留的鎖定 <lock>。 |
|
驅動程式模組推斷目前的函式不是正確的函式類型 |
|
取值 NULL 指標 |
本章節內容
Managed 程式碼分析
Managed 程式碼的程式碼分析會提供 Managed 組件的相關資訊,例如是否違反 Microsoft .NET Framework 設計方針所制定的程式設計和設計規則。警告訊息會識別任何相關的程式設計和設計問題,並且在可能的時候,提供如何修正問題的資訊。
使用程式碼分析進行 Managed 程式碼品質分析
了解如何設定及執行 Managed 程式碼分析工具。Managed 程式碼的程式碼分析警告 描述程式碼分析報告的 C/C++ 程式碼警告。
C++ 程式碼分析
C/C++ 程式碼分析工具會將其 C/C++ 原始程式碼中可能的缺失相關資訊提供給開發人員。這個工具所報告的常見程式碼撰寫錯誤包括緩衝區滿溢、未初始化的記憶體、Null 指標取值以及記憶體和資源流失。
使用程式碼分析進行 C/C++ 程式碼品質分析
了解如何設定及執行 C/C++ 程式碼分析工具。C/C++ 程式碼分析警告
描述程式碼分析報告的 C/C++ 程式碼警告。
驅動程式程式碼分析
程式碼分析工具可以協助改進您的驅動程式的穩定性和可靠性,方法是有系統地分析驅動程式原始程式碼。
Analyzing Driver Quality by Using Code Analysis Tools
驅動程式的程式碼分析是一個編譯時期靜態驗證工具,會偵測 C 和 C++ 程式中的基本程式碼錯誤,並包含特殊模組,它是設計用來 (主要) 偵測核心模式驅動程式碼中的錯誤..靜態驅動程式驗證器 (SDV) 是一種靜態驗證工具,有系統地分析 Windows 核心模式驅動程式的原始程式碼。SDV 會判斷驅動程式是否正確地與 Windows 作業系統核心互動。Code Analysis for Drivers Warnings
描述驅動程式之程式碼分析在偵測到驅動程式程式碼中可能阿生的錯誤時,所報告的警告。