使用程式碼分析工具進行應用程式品質分析
Visual Studio 2012 的新功能
[程式碼分析] 視窗 |
程式碼分析警告現在會出現在程式碼分析工具視窗。透過視窗幫您管理和解決程式碼分析警告。 |
篩選條件警告訊息 |
在視窗中,您可以利用關鍵字、專案和嚴重性篩選程式碼分析視窗的訊息。 |
程式碼編輯器會反白顯示 |
選取視窗中的程式碼分析的訊息以反白顯示原始程式碼編輯器中的觸發程序訊息。 |
C++ 訊息隱藏項目 |
在程式碼分析視窗上,您可以插入 Pragma至原始程式碼以隱藏選取的警告。 |
C++ 規則集 |
同 Managed 程式碼,您現在可以藉由建立或使用規則集來指定要套用分析規則以執行程式碼分析。 |
針對 Windows 市集應用程式支援
您可以執行 Visual Basic、C# 和 C/++ 程式碼的程式碼分析在 Windows 市集應用程式。如 分析 Windows 市集應用程式的程式碼品質與 Visual Studio 程式碼分析的資訊。 需詳細資訊,請參閱 Windows 開發人員中心。
新的 C++Concurrency 警告
新的並行警告可以協助您確保鎖定在多執行緒的 C/C++ 程式的專業領域。此分析器偵測一些並行 Bug,包括可能發生競爭情形、鎖定命令反向、呼叫端/被呼叫端鎖定合約違規和不相符的同步處理作業。
競爭情形。變數<var> 應該被鎖定 <lock>所保護。 |
|
不使用變數 <var>做為連鎖作業。 |
|
鎖定命令違規。取得具有層級 <level> 的鎖定 <lock> 造成順序反向。 |
|
在呼叫函式之前 <func>持有鎖定的呼叫端失敗 <lock> 。 |
|
在呼叫函式之前 <func>釋放鎖定的呼叫端失敗 <lock>。 |
|
呼叫端不可以在呼叫之前 <func>保留任何鎖定。 |
|
不要釋放在函式 <func>中的鎖定 <lock> 。 |
|
無法取得或物件所在的 <func>鎖定 <lock> 。 |
|
釋放在函式 <func>的 unheld 鎖定 <lock> 。 |
|
遺漏附註在函式 <func>的 _Requires_lock_held_ (<lock>) 或 _No_competing_thread_。否則它可以是競爭情形。變數<var> 應該被鎖定 <lock>所保護。 |
|
函式 <func>所遺漏的附註 <annotation> 。 |
|
並行 SAL 附註錯誤 |
|
無法在呼叫函式<func>之前維持鎖定 <lock>呼叫端 。 |
|
可能無法釋放鎖定。 |
|
無法取得或物件所在的函式 <func>鎖定 <lock> 。 |
|
可能會釋放在函式 <func>的 unheld 鎖定 <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
描述驅動程式的程式碼分析報告的警告會偵測可能的錯誤,當他是驅動程式的程式碼時。
本節中的其他主題
程式碼分析詳細資訊
- 使用 Team 專案簽入原則強化程式碼品質
在此處插入描述。
相關工作
測量 Managed 程式碼的複雜度和維護性
在此處插入描述。使用單元測試驗證程式碼
在此處插入描述。