1. 程式人生 > >記憶體檢測工具使用(Linux、VS)

記憶體檢測工具使用(Linux、VS)

一、Linux中記憶體檢測工具(valgrind)

記憶體檢查工具: valgrind linux上線上安裝:yum install valgrind 使用方法:     valgrind 你的程式     或者 valgrind  --leak-check=full --show-reachable=yes  --track-origins=yes  你的程式

二、VS中記憶體檢測工具(VLD -- Visual Leak Detector)


建議選是,他會自動幫我們在系統的環境變數裡新增vld的動態連結庫,如果選否也可以,要自己去手動新增(如果你不是過度蛋疼的話推薦點“是”)。

其次 安裝完成 我們來配置VS 2012

在我們的專案上右擊——>屬性——>配置屬性——>VC ++ 目錄——> 分別 在 包含目錄 和 庫目錄 新增 vld安裝目錄的include和lib




ps:這裡需要注意 具體是Win32 還是 Win64 根據自己的系統決定(這個決定了你最後編譯能否通過,如果最後未找到vld_x86.dll or vld_x64.dll 請修改這一步的lib庫)。

OK 新增頭和庫成功,現在我們在vs裡面來玩一玩:

找到程式入口main.cpp 

新增引用頭   #include <vld.h> (新增是否成功,可以游標在  vld.h 上 shift+alt+G 進入,如果正常開啟vld.h 說明配置正確)


然後我們在HelloWorldScene的 init()方法裡故意搞個記憶體洩漏以便測試

CCLabelTTF *lab2 = new CCLabelTTF();

int *p = new int();


(為了增加說服力,故意多搞了一個整形的,看看是不是能檢測到我大整形的4個位元組)

OK ,下面來看我們的執行結果:啟動除錯——>執行到我檢測記憶體洩漏的頁面——>停止除錯 (這裡需要注意,只有你的頁面和方法執行過才能檢測是否記憶體洩漏,哥們你千萬別啟動一下,關了,然後歡天喜地的告訴大家,好牛比,你的程式一個記憶體洩漏都沒有,阿彌陀佛……)。


從輸出我們已經成功檢測到 有兩次記憶體洩漏,一個4個位元組的int  和一個524個位元組的CCLabelTTF,當你雙擊下面的棧他會自動定位到問題相關的程式碼行,OK ,下面我們來把這兩個洩漏幹掉,看看是否還有問題

PS: 再次在說明一下,

CCLabelTTF是cocos2d-x的內部類,釋放有 lab2->release();  當然可以用int一樣的c++語法delete 釋放 :

delete lab2;
delete p;

我們再來執行一次


OK,意料之中,一切正常。

參考:http://blog.csdn.net/yangjingui/article/details/9768927

相關推薦

記憶體檢測工具使用LinuxVS

一、Linux中記憶體檢測工具(valgrind) 記憶體檢查工具: valgrind linux上線上安裝:yum install valgrind 使用方法:     valgrind 你的

企業數據雲備份——七牛雲linuxwindows

分享圖片 定性 exe https 時間 結果 nag exist linux 企業數據雲備份——七牛雲(linux、windows)一、七牛雲介紹七牛雲,在國內是一個比較出名

Eclipse MAT記憶體分析工具Memory Analyzer Tool

MAT記憶體分析工具 MAT是Memory Analyzer的簡稱,它是一款功能強大的Java堆記憶體分析器。可以用於查詢記憶體洩露以及檢視記憶體消耗情況。MAT是基於Eclipse開發的,是一款免費的效能分析工具。讀者可以在http://www.eclipse.org/mat/下載並使用MAT。 1 初

golang 另類方法後臺執行程式linuxwindows

後臺執行程式 方法1: windows 只需要在編譯的時候使用一下go build - ldflags="-H windows" Linux  在執行程式的尾部加入&,或者nohup ./example & 方法2: 匯入一個包即可。

安裝anaconda pycharmlinuxwindows

linux: https://blog.csdn.net/cui2839255227/article/details/53289563   給pycharm配置anaconda環境   https://blog.csdn.net/baoxiao7872/

Chrome 的 開發者工具F12devtools開啟緩慢解決方法

參考 http://stackoverflow.com/questions/8125006/google-chrome-developer-toolkit-is-slow 解決辦法之一:    進入dev tools,點選F1,選擇workspace,把裡面的資料夾都刪掉,

不同工具jsouphttpclient獲取多個同路徑下同名Cookie的問題

不知大家遇到類似的問題嗎,希望一起探討。 1、首先第一次訪問http://www.17sct.com/city.php?ename=CHANGZHOU,我們可以看到如下請求: 我們看到 設定了兩個 99a0_city cookie, 值分別為1 和 269;如ch

spring cloud微服務快速教程之熔斷器(Hystrix)及其工具DashboardTurbine

0-為什麼需要熔斷器   在分散式系統中,各個服務相互呼叫相互依賴,如果某個服務掛了,很可能導致其他呼叫它的一連串服務也掛掉或者在不斷等待中耗盡伺服器資源,這種現象稱之為雪崩效應;   未來防止系統雪崩,熔斷機制必不可少,就是當一個服務掛掉後,呼叫它的服務能快速熔斷,不再耗費資源,快速失敗並提供回退方案;

Linux防火墻SElinuxnetfilter防火墻工具iptables

pac val 重新開始 語法 tro his 序列號 disable sel Linux防火墻 SElinux防火墻 SElinux是Linux系統特有的安全機制,一般裝完系統後都會手動將它關閉; 查詢狀態 getenforce Enforcing:為開啟狀態,Pe

c++記憶體洩漏檢測工具

原文連結: http://blog.csdn.net/beanjoy/article/details/7578372   1/  VC自帶的CRT:_CrtCheckMemory   偵錯程式和 CRT 除錯堆函式 用法 /********

Visual C++ 記憶體洩露檢測工具VLD

簡述 C/C++ 程式越複雜,記憶體的管理顯得越重要,稍有不慎就會出現洩漏。如果記憶體洩漏不是很嚴重,在短時間內對程式不會有太大影響,這也使得記憶體洩漏問題有很強的隱蔽性,不易被發現。然而不管記憶體洩漏多麼輕微,當程式長時間執行時,其破壞力是驚人的 - 從效能

Linux下四款Web伺服器壓力測試工具http_loadwebbenchabsiege介紹

一、http_load程式非常小,解壓後也不到100Khttp_load以並行複用的方式執行,用以測試web伺服器的吞吐量與負載。但是它不同於大多數壓力測試工具,它可以以一個單一的程序執行,一般不會把客戶機搞死。還可以測試HTTPS類的網站請求。下載地址:http://sof

Linux時間子系統之八:動態時鐘框架CONFIG_NO_HZtickless

sleep file rup linux時間 load 曾經 大致 獲取 conf 在前面章節的討論中,我們一直基於一個假設:Linux中的時鐘事件都是由一個周期時鐘提供,不管系統中的clock_event_device是工作於周期觸發模式,還是工作於單觸發模式,也不管定時

Nginx系列-2.配置LNMPLinuxNginxMySQLPHP架構

Linux Nginx Nginx系列-2.配置LNMP(Linux、Nginx、MySQL、PHP)架構 目錄 - Nginx系列 Nginx系列-1.Linux下安裝Nginx Nginx系列-2.配置LNMP(Linux、Nginx、MySQL、PHP)架構 Nginx系列-3.配置Ngi

lvslinux virtual serverkeepalived

multicast chan lob cer 數據同步 iptables 解析結果 smtp ice Linux Cluster: httpd: ab, ?benchmark; 系統的擴展方式:Scale up:向上擴展;×××能更好的服務器替代現有的服務器;Scale o

linux三大文件處理工具grep/sed/awk

i++ 數據 test font 文件名 span 工具 tro clas grep, sed 與 awk 是linux三個很強大的文件處理工具。 gerp 查找, sed 編輯, awk 根據內容分析並處理。 現在我們去了解一下這三種文件處理工具有什麽不同(肯定不同了,要

Centos6.8下搭建LAMPLinuxApacheMySQLPHP環境

Centos6.8下搭建LAMP(Linux、Apache、MySQL、PHP)環境 一.安裝Apache服務 1.       命令如下:sudo yum install httpd –y 注:採用該方法安裝Apac

Linux命令之檢視日誌等實時檔案命令less tail使用

一、less的使用 1)less  檔名,即可快速開啟檔案 2)相關檢視搜尋 3)利用鍵盤向上向下箭頭鍵盤上的向上和向下箭頭,點選一次向下簡單,檔案內容往下讀取一行;點選一次向上箭頭,檔案內容,往上翻滾一行。 4)page down 和page up利用鍵盤的page down 和page

Linux學習-1025網路防火牆

10.11 Linux網路相關 10.12 firewalld和netfilter 10.13 netfilter5表5鏈介 10.14 iptables語法   一、Linux網路相關 檢視網絡卡ip命令:ifconfig   

軟體光柵器實現VS和PS的輸入輸出和運作,切空間的計算

二、軟體光柵器的VS和PS的輸入、輸出和運作,法線貼圖版本。轉載請註明出處。   這裡介紹的VS和PS是實現法線對映的版本,本文僅介紹實現思路,並給出程式碼供參考。切空間計算、光照模型等相關公式不是本文重點,本文暫不給出,讀者可以查閱其他博文或文獻。   軟光柵的頂點部分處理放在VS也就是頂點著色器中進行