聲明:本內容轉載自 https://my.oschina.net/gp8wLHNUeKd2C/blog/110707函數
在使用VS開發過程當中,(今日)遇到內存泄漏的狀況。具體表現爲:spa
在輸出窗口中,顯示:.net
項目代碼翻了個遍都沒看出問題在哪。此時,可經過 _CrtSetBreakAlloc(); 接口,進行簡單的內存泄漏檢查。debug
具體使用方法:在 main 函數中,直接第一句前加上 _CrtSetBreakAlloc(12866); 而後以 debug 模式下運行。此時,vs會直接幫忙定位到具體發生內存泄漏的位置(注意:是以中斷的形式定位的)。code
下面是轉載博客的部分須要注意的地方的原文內容(方便查閱,故copy放於此):blog
或者 在頭文件添加以下代碼 // 在入口函數cpp中添加如下定義和頭文件 #define CRTDBG_MAP_ALLOC #include <stdlib.h> #include <crtdbg.h> 若是用VisualLeakDetector沒法找到內存溢出代碼對應的位置的時候,要首先查看以下操做 1.當前程序路徑是否包含中文,VisualLeakDetector對中文不能支持 2.打算查看的DLL是否包含了"#include <vld.h>",每一個打算查看的DLL都要在原DLL的代碼中添加"#include <vld.h>" 3.不能在當前程序路徑中包含VisualLeakDetector安裝路徑下的任何文件。