共用方式為


_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。如需詳細資訊,請參閱平台叫用範例

請參閱

參考

偵錯常式

_CrtMemDifference