_CrtCheckMemory

確認在偵錯堆積中配置之記憶體區塊的完整性 (僅限偵錯版本)。

語法


int _CrtCheckMemory( void );

傳回值

如果成功, _CrtCheckMemory 會傳 TRUE 回 ,否則函式會傳 FALSE 回 。

備註

_CrtCheckMemory 函式會透過確認基礎基底堆積及檢查每個記憶體區塊,來驗證偵錯堆積管理員所配置的記憶體。 如果基礎基底堆積、偵錯標頭資訊或覆寫緩衝區中發生錯誤或記憶體不一致的情況,_CrtCheckMemory 就會產生內含描述錯誤狀況之資訊的偵錯報告。 未定義 時 _DEBUG ,會在前置處理期間移除 對 的 _CrtCheckMemory 呼叫。

使用 函式設定 旗標 _CrtSetDbgFlag_crtDbgFlag 位欄位,即可控制 的行為 _CrtCheckMemory_CRTDBG_CHECK_ALWAYS_DF每次要求記憶體配置作業時,開啟位欄位 ON 會導致 _CrtCheckMemory 呼叫。 雖然此方法會讓執行速度變慢,但有助於快速攔截錯誤。 _CRTDBG_ALLOC_MEM_DF關閉位欄位會導致 _CrtCheckMemory 無法驗證堆積,並立即傳回 TRUE

因為此函式會傳 TRUE 回 或 FALSE ,所以可以傳遞至其中 _ASSERT 一個宏,以建立基本的偵錯錯誤處理機制。 下列範例會在偵測到堆積中的損毀時造成判斷提示失敗:

_ASSERTE( _CrtCheckMemory( ) );

如需如何 _CrtCheckMemory 與其他偵錯函式搭配使用的詳細資訊,請參閱 堆積狀態報表函式 。 如需記憶體管理和偵錯堆積的概觀,請參閱 CRT 偵錯堆積詳細資料

需求

常式 必要的標頭
_CrtCheckMemory <crtdbg.h>

如需相容性詳細資訊,請參閱相容性

程式庫

僅限偵錯版本的 C 執行階段程式庫

範例

如需如何使用 _CrtCheckMemory 的範例,請參閱 crt_dbg1

另請參閱

偵錯常式
_crtDbgFlag
_CrtSetDbgFlag