HOW TO:啟用記憶體診斷
這個主題適用於:
版本 |
Visual Basic |
C# |
F# |
C++ |
Web Developer |
---|---|---|---|---|---|
Express |
![]() |
![]() |
![]() |
僅適用原生 |
![]() |
Pro、Premium 和 Ultimate |
![]() |
![]() |
![]() |
僅適用原生 |
![]() |
您必須在使用記憶體診斷設施之前啟用診斷追蹤。
若要啟用或停用記憶體診斷
- 呼叫全域函式 AfxEnableMemoryTracking 來啟用或停用診斷記憶體配置器 (Allocator)。 因為記憶體診斷在偵錯程式庫中預設是啟用的,通常您會使用這個函式將它們暫時地關閉,以增加程式執行速度和減少診斷輸出。
若要選取具 afxMemDF 的特定記憶體診斷功能
如果您要更準確地控制記憶體診斷功能,您可以設定 MFC 全域變數 afxMemDF 值,選擇性地開啟和關閉各個記憶體診斷功能。 這個變數可以有下列的值,如同列舉類型 afxMemDF 所指定。
值
意義
allocMemDF
開啟診斷記憶體配置器 (預設)。
delayFreeMemDF
呼叫 delete 或 free 時會延遲釋放記憶體,直到程式結束。 這會造成程式配置可能的最大記憶體量。
checkAlwaysMemDF
每一次記憶體配置或釋放時都會呼叫 AfxCheckMemory。
這些值可以藉由執行邏輯 OR 操作用於結合,如下所示:
afxMemDF = allocMemDF | delayFreeMemDF | checkAlwaysMemDF;