_CrtSetDumpClient
安裝應用程式定義的函式以傾印 _CLIENT_BLOCK
類型記憶體區塊 (僅限偵錯版本)。
語法
_CRT_DUMP_CLIENT _CrtSetDumpClient( _CRT_DUMP_CLIENT dumpClient );
參數
dumpClient
要攔截的新用戶端定義記憶體轉儲函式。
傳回值
傳回先前定義的用戶端區塊傾印函式。
備註
函 _CrtSetDumpClient
式可讓應用程式連結自己的函式,以傾印儲存在記憶體區塊中的 _CLIENT_BLOCK
物件。 因此,每次偵錯傾印函式,例如 _CrtMemDumpAllObjectsSince
或 _CrtDumpMemoryLeaks
傾印 _CLIENT_BLOCK
記憶體區塊時,也會呼叫應用程式的傾印函式。 _CrtSetDumpClient
提供應用程式一個簡單的方法,來偵測記憶體流失,以及驗證或報告儲存在 _CLIENT_BLOCK
區塊中的資料內容。 若未定義 _DEBUG
,將會在前置處理期間移除對 _CrtSetDumpClient
的呼叫。
_CrtSetDumpClient
函式會安裝 dumpClient
中指定的新應用程式定義傾印函式,並傳回先前定義的傾印函式。 用戶端區塊傾印函式的範例如下所示:
void DumpClientFunction( void *userPortion, size_t blockSize );
userPortion
引數是記憶體區塊之使用者資料部分開頭的指標,而 blockSize
指定配置的記憶體區塊大小 (以位元組為單位)。 用戶端區塊傾印函式必須傳回 void
。 傳入 _CrtSetDumpClient
的用戶端傾印函式指標是定義在 Crtdbg.h 中的 _CRT_DUMP_CLIENT
類型:
typedef void (__cdecl *_CRT_DUMP_CLIENT)( void *, size_t );
如需在類型記憶體區塊上運作之 _CLIENT_BLOCK
函式的詳細資訊,請參閱 用戶端區塊攔截函式。 函 _CrtReportBlockType
式可用來傳回區塊類型和子類型的相關信息。
需求
常式 | 必要的標頭 |
---|---|
_CrtSetDumpClient |
<crtdbg.h> |
如需相容性詳細資訊,請參閱相容性。
程式庫
僅限偵錯版本的 C 執行階段程式庫。