_CrtMemCheckpoint
取得偵錯堆積的目前狀態,並儲存在應用程式提供的 _CrtMemState 結構中 (僅限偵錯版本)。
void _CrtMemCheckpoint( _CrtMemState *state );
參數
- state
指向 _CrtMemState 結構以填入記憶體檢查點。
備註
_CrtMemCheckpoint 函式會建立任何指定時間之偵錯堆積目前狀態的快照。 其他堆積狀態函式 (例如 _CrtMemDifference) 可以使用這個快照協助偵測記憶體流失和其他問題。 未定義 _DEBUG 時,會在前置處理期間移除 _CrtMemState 的呼叫。
應用程式必須將指標傳遞至先前配置之 _CrtMemState 結構的執行個體,其定義在 Crtdbg.h 的 state 參數中。 如果 _CrtMemCheckpoint 在檢查點建立期間遇到錯誤,函式會產生描述問題的 _CRT_WARN 偵錯報告。
如需堆積狀態函式和 _CrtMemState 結構的詳細資訊,請參閱堆積狀態報告函式。 如需在偵錯版本的基底堆積中如何配置、初始化及管理記憶體區塊的詳細資訊,請參閱 CRT 偵錯堆積詳細資料。
若 state 為 NULL,則會叫用無效參數處理常式,如參數驗證中所述。 若允許繼續執行,errno、_doserrno、_sys_errlist 和 _sys_nerr 會設為 EINVAL,並傳回函式。
需求
常式 |
必要的標頭 |
---|---|
_CrtMemCheckpoint |
<crtdbg.h>、<errno.h> |
如需相容性的詳細資訊,請參閱簡介中的相容性。
**程式庫:**僅限偵錯版本的 CRT 程式庫功能。
範例
請參閱 crt_dbg1。
.NET Framework 對等用法
不適用。若要呼叫標準 C 函式,請使用 PInvoke。如需詳細資訊,請參閱平台叫用範例。