Compartilhar via


_CrtSetDumpClient

Instala uma função definida pelo aplicativo para despejar blocos de memória do tipo _CLIENT_BLOCK (somente versão de depuração).

Sintaxe

_CRT_DUMP_CLIENT _CrtSetDumpClient( _CRT_DUMP_CLIENT dumpClient );

Parâmetros

dumpClient
Nova função de despejo de memória definida pelo cliente para enganchar.

Valor retornado

Retorna a função de despejo de bloco do cliente definida anteriormente.

Comentários

A _CrtSetDumpClient função permite que o aplicativo conecte sua própria função para despejar objetos armazenados em _CLIENT_BLOCK blocos de memória. Como resultado, toda vez que uma função de despejo de depuração, como _CrtMemDumpAllObjectsSince ou _CrtDumpMemoryLeaks despeja um _CLIENT_BLOCK bloco de memória, a função de despejo do aplicativo também é chamada. _CrtSetDumpClient fornece um aplicativo com um método fácil para detecção de perdas de memória e para validação ou relatório do conteúdo dos dados armazenados em blocos _CLIENT_BLOCK. Quando _DEBUG não está definido, as chamadas para _CrtSetDumpClient são removidas durante o pré-processamento.

A função _CrtSetDumpClient instala a nova função de despejo definida pelo aplicativo especificada em dumpClient e retorna a função de despejo definida anteriormente. Este é um exemplo de uma função de despejo de bloco do cliente:

void DumpClientFunction( void *userPortion, size_t blockSize );

O argumento userPortion é um ponteiro para o início da parte de dados do usuário do bloco de memória e blockSize especifica o tamanho do bloco de memória alocado em bytes. A função de despejo de bloqueio do cliente deve retornar void. O ponteiro para a função de despejo do cliente passado para _CrtSetDumpClient é do tipo _CRT_DUMP_CLIENT, conforme definido em Crtdbg.h:

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

Para obter mais informações sobre funções que operam em _CLIENT_BLOCK blocos de memória de tipo, consulte Funções de gancho de bloco do cliente. A _CrtReportBlockType função pode ser usada para retornar informações sobre tipos e subtipos de blocos.

Requisitos

Rotina Cabeçalho necessário
_CrtSetDumpClient <crtdbg.h>

Para obter informações sobre compatibilidade, consulte Compatibilidade.

Bibliotecas

Somente versões de depuração de bibliotecas de tempo de execução C.

Confira também

Rotinas de depuração
_CrtReportBlockType
_CrtGetDumpClient