Visual Leak Detector內(nèi)存泄露檢測工具
靈活自由是C/C++語言的一大特色,而這也為C/C++程序員出了一個難題。當程序越來越復雜時,內(nèi)存的管理也會變得越加復雜,稍有不慎就會出現(xiàn)內(nèi)存問題。內(nèi)存泄漏是最常見的內(nèi)存問題之一。內(nèi)存泄漏如果不是很嚴重,在短時間內(nèi)對程序不會有太大的影響,這也使得內(nèi)存泄漏問題有很強的隱蔽性,不容易被發(fā)現(xiàn)。然而不管內(nèi)存泄漏多么輕微,當程序長時間運行時,其破壞力是驚人的,從性能下降到內(nèi)存耗盡,甚至會影響到其他程序的正常運行。另外內(nèi)存問題的一個共同特點是,內(nèi)存問題本身并不會有很明顯的現(xiàn)象,當有異常現(xiàn)象出現(xiàn)時已時過境遷,其現(xiàn)場已非出現(xiàn)問題時的現(xiàn)場了,這給調(diào)試內(nèi)存問題帶來了很大的難度。
Visual Leak Detector是一款用于Visual C++的免費的內(nèi)存泄露檢測工具。可以在http://www.codeproject.com/tools/visualleakdetector.asp 下載到。相比較其它的內(nèi)存泄露檢測工具,它在檢測到內(nèi)存泄漏的同時,還具有如下特點:
1、 可以得到內(nèi)存泄漏點的調(diào)用堆棧,如果可以的話,還可以得到其所在文件及行號;
2、 可以得到泄露內(nèi)存的完整數(shù)據(jù);
3、 可以設置內(nèi)存泄露報告的級別;
4、 它是一個已經(jīng)打包的lib,使用時無須編譯它的源代碼。而對于使用者自己的代碼,也只需要做很小的改動;
5、 他的源代碼使用GNU許可發(fā)布,并有詳盡的文檔及注釋。對于想深入了解堆內(nèi)存管理的讀者,是一個不錯的選擇。
