我有點新使用Visual Studio 2013,並試圖讓Visual Leak Detector(版本2.3)工作,以便我可以檢查我的項目的內存泄漏。視覺泄漏檢測器不報告泄漏
我有它安裝並增加 C:\ Program Files文件(x86)的\視覺檢漏儀\包括我的include目錄
和C:\ Program Files文件(x86)的\視覺檢漏儀\ lib \ Win32添加到我的庫目錄(兩者都用於調試模式)。
我構建和運行使用調試菜單下面的簡單程序(或按F5):
#include <iostream>
#include <vld.h> //visual leak detector
using namespace std;
int main()
{
for (int i = 0; i < 1000000; i++)
int *ptr = new int(100);
return 0;
}
泄漏是顯而易見的(和故意)在這裏,來測試功能,但這是報告我回來:
Visual Leak Detector Version 2.3 installed.
The thread 0x38ac has exited with code 0 (0x0).
No memory leaks detected.
Visual Leak Detector is now exiting.
The program '[8136] Test.exe' has exited with code 0 (0x0).
任何想法?
編輯:我要指出的是,權利的main()結束之前加入
#define _CRTDBG_MAP_ALLOC
#include <stdlib.h>
#include <crtdbg.h>
爲了我的代碼的開頭和
_CrtDumpMemoryLeaks();
,並在事實上導致Visual Studio的內置泄漏檢測來報告泄漏,但是可視化泄漏檢測器仍然遵循這個報告,稱沒有檢測到內存泄漏並且沒有提供任何信息。
我試過使用它,並懷疑它是否確實能夠準確無誤地識別memleaks或不是:/ – JBL
對於VC++ 2010不適用。經過測試,它檢測到泄漏是正確的。必須在Properties-> Additional Include(或Library)目錄中添加包含和庫。 – SChepurin
這可能只是他們還沒有更新它的新編譯器呢? – Kittenmittons