_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
。