2010-08-12 128 views
3

是否有人親自使用由MFC使用AfxEnableMemoryTracking到檢測內存泄漏

提供

AfxEnableMemoryTracking函數來檢測內存泄漏。它有多有用?

+0

我這個昨天已經發現,我用它來禁用某些情況下,當跟蹤泄漏報告(由其他人修復)在調試器中退出我們的應用程序時需要很長的時間才能列出。 M. – Max 2010-08-12 17:37:00

回答

4

內存跟蹤在MFC Debug版本中默認啓用。如果有必要,AfxEnableMemoryTracking主要用於臨時禁用某些代碼片段中的內存跟蹤。要使用MFC內置內存泄漏檢測,確保每.cpp文件包含所有行#include後下面的代碼:

 
#ifdef _DEBUG 
#define new DEBUG_NEW 
#endif 
+0

爲什麼不直接在頭文件中定義? – Puppy 2010-08-12 18:11:54

+1

在h文件中重新定義新運算符可能導致許多h文件的編譯失敗,或者某些庫的未定義行爲。這就是爲什麼new運算符僅在本地爲.cpp文件定義的原因。 – 2010-08-13 04:59:09