共用方式為


_CrtDumpMemoryLeaks

傾印所有的記憶體區塊,以偵錯堆積發生記憶體遺漏 (偵錯版本)。

int _CrtDumpMemoryLeaks( void );

傳回值

_CrtDumpMemoryLeaks如果找不到記憶體遺漏,則傳回 TRUE。 否則,函數會傳回 FALSE。

備註

_CrtDumpMemoryLeaks函式會判斷自從程式執行開始是否發生記憶體流失。 找到一個溢位時,堆積中的所有物件的偵錯標頭資訊會傾印,使用者可讀的格式。 當 _DEBUG 尚未定義,會呼叫**_CrtDumpMemoryLeaks**在前置處理過程中移除。

_CrtDumpMemoryLeaks經常呼叫端的程式執行,以確認被釋出所有由應用程式所配置的記憶體。 此函式可以自動在呼叫程式終止藉由開啟**_CRTDBG_LEAK_CHECK_DF**位元欄位的 _crtDbgFlag 加上旗標使用 _CrtSetDbgFlag 函式。

_CrtDumpMemoryLeaks呼叫 _CrtMemCheckpoint 以取得堆積的目前狀態,然後掃描尚未釋放的區塊的狀態。 發生了 unfreed 的區塊時, _CrtDumpMemoryLeaks呼叫 _CrtMemDumpAllObjectsSince 來傾印資訊的程式執行開始從堆積中配置的所有物件。

根據預設,內部的 c 執行階段區塊 (_CRT_BLOCK) 並不包含在記憶體傾印的作業。 _CrtSetDbgFlag 函式可用來點亮**_CRTDBG_CHECK_CRT_DF**位元的 _crtDbgFlag 要併入遺漏偵測程序中的這些區塊。

如需有關堆積狀態函式和 結構,請參閱 堆積狀態報告函式。 如需有關如何記憶體區塊會配置、 初始化,而且在基底堆積的偵錯版本管理的資訊,請參閱記憶體管理和偵錯堆積

需求

常式

所需的標頭

_CrtDumpMemoryLeaks

<crtdbg.h>

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

文件庫

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

範例

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

.NET Framework 對等用法

不適用。 若要呼叫標準的 c 函式,使用PInvoke。 如需詳細資訊,請參閱平台叫用範例

請參閱

參考

偵錯常式