程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> Eclipse CDT Linux下內存分析 實戰歷險

Eclipse CDT Linux下內存分析 實戰歷險

編輯:C++入門知識

C++產品開發,上線集成時,都需要內存洩露、覆蓋率等檢測,這些在Windows下都有很好的工具,如

Visual Studio: 這個內置了很多的工具

Devpartner: VC6時BoundChecker非常棒,Devpartner集成了很多的功能集合 http://www.borland.com/products/devpartner/default.aspx

Insure++: http://www.parasoft.com/jsp/products/insure.jsp?itemId=63

而在Linux環境下,選擇少了很多,下面把eclipse中的工具使用說明一下,好費勁。

環境

Ubuntu 10 64位

Eclipse Juno

具體步驟

1、Eclipse CDT【http://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/keplerr】安裝好後,linux tools 【http://www.eclipse.org/linuxtools/index.php】 內置集成了很多的工具

不過啟動後一用,報錯

java.lang.NullPointerException
        at org.eclipse.linuxtools.internal.valgrind.core.ValgrindCommand.readIntoBuffer(ValgrindCommand.java:82)

google一下,這個問題還出現過,但沒有解答,不知道如何解決

2、既然如此,直接使用吧, 進入 http://valgrind.org/ 下載安裝

按照docs目錄下的文檔,測試一個程序後,出現,錯誤提示

valgrind:  
valgrind:    On Debian, Ubuntu:                 libc6-dbg
valgrind:    On SuSE, openSuSE, Fedora, RHEL:   glibc-debuginfo

 http://askubuntu.com/questions/148236/valgrind-does-debug-error  中給出了方法

執行sudo apt-get install libc6-dbg, 提示 E: 無法安裝的軟件包 錯誤
咋辦,找到如下的快捷解決方法
sudo apt-get update; sudo aptitude install libc6-dbg
ubuntu關於aptitude和apt-get http://blog.csdn.net/yili_xie/article/details/4803314
使用aptitude 解決包沖突的問題,又學了一招

3、使用:以上全部安裝好後,終於可以正常使用了

valgrind --leak-check=yes ./aa 檢查一個測試程序,終於正常了

此時在進入Eclipse中可以了,具體效果看下圖

image

此時可以直觀的看到洩露和提示

另外:Eclipse對於C++還提供了其他的一系列工具,輔助代碼的分析等,具體如下:覆蓋率等等,這些的使用後續僅需看看

image

 

相比Windows下的這些工具,配置和使用起來真是有些麻煩。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved