_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> |
如需相容性詳細資訊,請參閱相容性。
程式庫: 僅限 UCRT 的偵錯版本。