共用方式為


_CrtCheckMemory

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

int _CrtCheckMemory( void );

傳回值

如果成功的話, _CrtCheckMemory ,則傳回 TRUE。 否則,函數會傳回 FALSE。

備註

_CrtCheckMemory函式會驗證由偵錯堆積管理員驗證基礎基底堆積,並檢查每個記憶體區塊所配置的記憶體。 如果基礎基底堆積、 偵錯的標頭資訊或覆寫緩衝區中遇到錯誤或記憶體不一致,則**_CrtCheckMemory會產生偵錯報告,以描述該錯誤狀況的資訊。 當 _DEBUG 尚未定義,會呼叫_CrtCheckMemory**在前置處理過程中移除。

行為的**_CrtCheckMemory可以藉由設定的位元欄位來控制 _crtDbgFlag 加上旗標使用 _CrtSetDbgFlag 函式。 開啟 _CRTDBG_CHECK_ALWAYS_DF 位元欄位上的導致_CrtCheckMemory每次要求記憶體配置作業時呼叫。 雖然這個方法會降低執行,很適合快速地捕捉錯誤。 開啟 _CRTDBG_ALLOC_MEM_DF 位元欄位的關閉原因_CrtCheckMemory**不確認堆積,並立即傳回 ,則為 TRUE

因為這個函數會傳回 ,則為 TRUE,則為 FALSE,它可以傳遞給其中一個 _ASSERT 巨集] 以建立簡單的偵錯錯誤處理機制。 堆積中偵測到損毀時,以下範例會產生判斷提示失敗:

_ASSERTE( _CrtCheckMemory( ) );

如需有關如何**_CrtCheckMemory**可以搭配其他的偵錯函式,請參閱堆積狀態報告函式。 記憶體管理和偵錯堆積的概觀,請參閱記憶體管理和偵錯堆積

需求

常式

所需的標頭

_CrtCheckMemory

<crtdbg.h>

如需相容性資訊,請參閱相容性在簡介中。

文件庫

偵錯版本的 C 執行階段程式庫只。

範例

範例中,如何使用**_CrtCheckMemory**,請參閱 crt_dbg1

.NET Framework 對等用法

System::Diagnostics::PerformanceCounter

請參閱

參考

偵錯常式

_crtDbgFlag

_CrtSetDbgFlag