C程式記憶體洩漏檢測工具

2021-10-07 19:35:53 字數 1305 閱讀 1791

第一步: 包含以下標頭檔案

#define _crtdbg_map_alloc

#include

#include

第二步: 接管 new 操作符

#ifdef _debug

#ifndef dbg_new

#define dbg_new new ( _normal_block ,file,line)

#define new dbg_new

#endif

#endif

第三步: 在**結束出輸出記憶體洩漏資訊

_crtdumpmemoryleaks();

記憶體洩漏工具:

windows : purify,boundscheaker、deleaker、visualleak detector(vld),

linux 平台:valgrind memcheck

具體操作**如下:

#define _crtdbg_map_alloc

#include

#include

#include

#include

#include

using namespace std;

#ifdef _debug

#ifndef dbg_new

#define dbg_new new ( _normal_block , __file__ ,__line__)

#define new dbg_new

#endif

#endif

void

a_live()

void

b_live()

intmain

(void

)_crtdumpmemoryleaks()

;system

("pause");

return0;

}

記憶體洩漏檢測工具顯示效果:

detected memory leaks! 意思是:檢測記憶體洩漏!

記憶體洩漏已解決狀態:

qt記憶體洩漏檢測 VLD記憶體洩漏檢測工具

vld記憶體工具可以為每個洩漏的塊提供完整的堆疊跟蹤,包括原始檔和行號資訊,從而快速找到記憶體洩漏點。注 僅支援windows平台。在main.cpp中新增 include後以除錯模式執行即可檢測記憶體洩漏。include int main int argc,char ar main.cpp 5 l...

安卓 記憶體洩漏檢測工具 LeakCanary 使用

韓夢飛沙 yue31313 韓亞飛 han meng fei sha 313134555 qq.com 配置 build.gradle dependencies 使用說明 建立refwatcher全域性變數 使用refwatcher去監控引用,activity,fragment等中的記憶體洩漏 例子...

C 記憶體洩漏檢測

include stdafx.h ifdef debug define debug new new normal block,file line 重新定義new用於記憶體洩漏檢測時輸出行號 define debug malloc s malloc dbg s,normal block,file li...