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