共用方式為


_CrtSetDumpClient

安裝應用程式定義的函式以傾印 _CLIENT_BLOCK 型別記憶體區塊 (僅偵錯版本)。

_CRT_DUMP_CLIENT _CrtSetDumpClient(  
   _CRT_DUMP_CLIENT dumpClient  
);

參數

  • dumpClient
    加入用戶端定義記憶體傾印功能到攔截執行階段 C 偵錯記憶體傾印處理序。

傳回值

傳回先前定義的用戶端區塊傾印函式。

備註

_CrtSetDumpClient 函式可讓應用程式將它的函式攔截到存於 _CLIENT_BLOCK 記憶體區塊的傾印物件至執行階段 C 偵錯記憶體傾印程序。 因此,每次一個偵錯傾印函式,例如 _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>

如需更多關於相容性的資訊,請參閱入門介紹中的 相容性 (Compatibility)

程式庫

C run-time libraries 版本的偵錯

.NET Framework 對等用法

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

請參閱

參考

偵錯常式

_CrtReportBlockType

_CrtGetDumpClient