共用方式為


_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屬於型別_CRT_DUMP_CLIENT、 Crtdbg.h 中所定義:

typedef void (__cdecl *_CRT_DUMP_CLIENT)( void *, size_t );

如需如何實作的應用程式定義的傾印函式的範例,請參閱 crt_dbg2 範例: c 執行階段偵錯攔截函式。 如需詳細資訊,可用於函式的_CLIENT_BLOCK輸入記憶體區塊,請參閱用戶端區塊攔截函式_CrtReportBlockType 函數可以用來傳回資訊區塊型別和子型別。

需求

常式

所需的標頭

_CrtSetDumpClient

<crtdbg.h>

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

文件庫

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

範例

範例中,如何使用_CrtSetDumpClient,請參閱 crt_dbg2

.NET Framework 對等用法

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

請參閱

參考

偵錯常式

_CrtReportBlockType

_CrtGetDumpClient