_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