1. 程式人生 > >DevPartner Studio Professional Edition 11 記憶體洩露檢測使用

DevPartner Studio Professional Edition 11 記憶體洩露檢測使用

               

     DevPartner Studio Professional Edition含有靜態程式碼分析、錯誤檢測、效能、覆蓋率和記憶體分析以及效能專家功能,用於 Visual Studio 2012、Visual Studio 2010、Visual Studio 2008 和 Visual Studio 2005。主頁:http://www.borland.com/products/devpartner/read/     下載安裝DevPartner Studio Professional Edition 11試用版,記得需要安裝Micro Focus License Manager。在Visual Studio 2008選單欄上多出了一個"DevPartner

"選項,如下圖所示:選單項功能,簡述如下:

 Choose this menu or toolbar itemTo 
 Error detection 錯誤檢測 Perform run-time error detection using BoundsChecker technology 執行執行時錯誤檢測使用BoundsChecker技術
 Coverage Analysis 覆蓋分析 Perform run-time code coverage analysis 執行執行時程式碼覆蓋率分析
 Error detection and Coverage Analysis 錯誤檢測和覆蓋分析 Perform run-time error detection with code coverage analysis 執行執行時錯誤檢測與程式碼覆蓋分析
 Performance Analysis 效能分析 Execute run-time performance analysis 執行執行時的效能分析
 Memory Analysis 記憶體分析 Execute run-time memory analysis 執行執行時的記憶體分析
 Performance Expert 效能專家 Execute run-time analysis with Performance Expert 使用效能專家執行執行時分析
 Perform Code Review 執行程式碼審查 Perform static code analysis 執行靜態程式碼分析
 Manage Code Review Rules 管理程式碼審查規則 Access code review rules management 訪問程式碼審查規則管理
 Error Detection Rules 錯誤檢測規則 Access error detection rules management, used to filter or suppress detected errors 訪問錯誤檢測規則管理,用於濾除或抑制檢測到的錯誤
 Native C/C++ Instrumentation 本機C/C++規範 Perform compile-time instrumentation for:  Error detection, Error detection with coverage, Performance or coverage analysis 執行編譯時規範: 錯誤檢測,錯誤覆蓋檢測,效能或覆蓋分析
 Native C/C++ Instrumentation Manager 本機C/C++規範管理 Access the Instrumentation Manager 訪問規範管理
 Correlate 關聯 Correlate performance or coverage files 關聯效能或覆蓋檔案
 Merge Coverage Files 合併覆蓋檔案 Merge coverage analysis sessions 將覆蓋分析會話合併
 Options 選項 Access DevPartner options Choices include: Analysis, Code review, Error Detection 訪問DevPartner的選項 選項包括:分析,程式碼審查,錯誤檢測

現在,測試記憶體洩露檢測:

1.準備一個測試工程,這裡為Win32控制檯程式;2.選單"DevPartner"→"Start with Error Detection",可以看到解決方案下,自動添加了一個"DevPartner Studio"項,右側包含記憶體洩露、檢測到的錯誤數等等,如下圖:3.現在在測試程式碼中,加入測試語句:

12345int _tmain(int argc, _TCHAR* argv[]){    char *p = new char[100];    return 0;}
4.再次"Start with Error Detection",程式結束後,可以看到報告了記憶體洩露,如下圖:在"記憶體洩露"面板,展開詳細,可以看到如下內容:指示了記憶體洩露的分配位置,選中這一行,可以看到詳細的呼叫堆疊和原始碼,如下圖所示:5.右鍵此行,選擇"Edit Source",可以直接進入原始檔,定位到所在行,方便修改。