最快速度找到内存泄漏
上一篇 /
下一篇 2012-08-07 10:02:54
/ 个人分类:杂谈
.`!B'vz zUT0 内存管理是C++程序员的痛。我的《内存管理变革》系列就是试图讨论更为有效的内存管理方式,以杜绝(或减少)内存泄漏,减轻C++程序员的负担。由于工作忙的缘故,这个系列目前未完,暂停。
(i2v9}j/}8w0U'c"snW0["[3|0e/O0 这篇短文我想换个方式,讨论一下如何以最快的速度找到内存泄漏。51Testing软件测试网
A_J(mi.@{7Q
r1]
51Testing软件测试网E*m5w_a 确认是否存在内存泄漏
Q%OD6B`TQ$}
n5V0+@0pt1gj,g0 我们知道,MFC程序如果检测到存在内存泄漏,退出程序的时候会在调试窗口提醒内存泄漏。例如:
[X.r-dI+\8_G0class CMyApp : public CWinApp51Testing软件测试网?9}Pv[+x {51Testing软件测试网5[|'k3g;@k3[ public:51Testing软件测试网o&v n6J9Bg-T BOOL InitApplication() q
S7V,u:i+?N.jN:N!@&J0 { |OLLx:@
pm ]c0 int* leak = new int[10];51Testing软件测试网4e7`
T)~iT{&@$J3q/_ return TRUE;51Testing软件测试网6O#];z2C V
Dd'i }
\FE"@sY k4M0}; |
51Testing软件测试网0\#D(@*?;tD%? 产生的内存泄漏报告大体如下:
XZaHK;l0Detected memory leaks!51Testing软件测试网1VaA7r/A/EB5v_S2f Dumping objects -> g5RR WPsm0c:/work/test.cpp(186) : {52} normal block at 0x003C4410, 40 bytes long.51Testing软件测试网N,W)bl"z5rtT
z{ Data: < > CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD
|