AfxCheckMemory
這個函式會驗證可用的記憶體集區,並列印所需的錯誤訊息。
BOOL AfxCheckMemory( );
傳回值
沒有記憶體發生錯誤 ; 如果非零值 否則 0。
備註
如果此函式偵測不到任何記憶體損毀,就會列印執行任何動作。
選取目前配置在堆積上的所有記憶體區塊,包括那些被配置給新但不是被直接呼叫基礎的記憶體 allocators,例如配置給malloc函式或 the GlobalAlloc Windows 函式。 如果發現的任何區塊是已損毀,偵錯工具輸出會顯示一則訊息。
如果您希望將線條
#define new DEBUG_NEW
在程式模組中,然後後續呼叫AfxCheckMemory顯示的檔名和行號記憶體配置的位置。
注意事項 |
---|
如果您的模組包含一或多個類別實作之可序列化,那麼您必須將#define行最後一個範圍之後IMPLEMENT_SERIAL巨集呼叫。 |
這個函式只適用於中 MFC 偵錯版本。
範例
CAge* pcage = new CAge(21); // CAge is derived from CObject.
Age* page = new Age(22); // Age is NOT derived from CObject.
*(((char*)pcage) - 1) = 99; // Corrupt preceding guard byte
*(((char*)page) - 1) = 99; // Corrupt preceding guard byte
AfxCheckMemory();
需求
標頭: afx.h