_CrtDoForAllClientObjects
Chama uma função fornecida por aplicativo para todos os tipos de _CLIENT_BLOCK
no heap (apenas versão de depuração).
Sintaxe
void _CrtDoForAllClientObjects(
void ( * pfn )( void *, void * ),
void *context
);
Parâmetros
pfn
Ponteiro para a função de retorno de chamada da função fornecida pelo aplicativo. O primeiro parâmetro para essa função aponta para os dados. O segundo parâmetro é o ponteiro de contexto enviado à chamada para _CrtDoForAllClientObjects
.
context
Ponteiro para o contexto fornecido pelo aplicativo para enviar à função fornecida pelo aplicativo.
Comentários
A função _CrtDoForAllClientObjects
pesquisa na lista vinculada do heap por blocos de memória com o tipo _CLIENT_BLOCK
e chama a função fornecida pelo aplicativo quando um bloco desse tipo é encontrado. O bloco encontrado e o parâmetro context
são enviados como argumentos para a função fornecida pelo aplicativo. Durante a depuração, um aplicativo pode rastrear um grupo específico de alocações de forma explícita, chamando as funções de heap de depuração para alocar a memória e especificar quais blocos estão atribuídos ao tipo de bloco _CLIENT_BLOCK
. Esses blocos podem ser rastreados separadamente e relatados de modo diferente durante a detecção de vazamento e o relatório de estado da memória.
Se o _CRTDBG_ALLOC_MEM_DF
campo de bits do _crtDbgFlag
sinalizador não estiver ativado, _CrtDoForAllClientObjects
retornará imediatamente. Quando _DEBUG
não está definido, as chamadas para _CrtDoForAllClientObjects
são removidas durante o pré-processamento.
Para obter mais informações sobre o tipo _CLIENT_BLOCK
e como ele pode ser usado por outras funções de depuração, consulte Tipos de blocos no heap de depuração. Para obter informações sobre como os blocos de memória são alocados, inicializados e gerenciados na versão de depuração do heap base, consulte Detalhes do heap de depuração do CRT.
Se pfn
for NULL
, o manipulador de parâmetro inválido será chamado, conforme descrito em Validação de parâmetro. Se a execução tiver permissão para continuar, , , , e _sys_nerr
for definido como EINVAL
e a função retornar. _sys_errlist
_doserrno
errno
Requisitos
Rotina | Cabeçalho necessário |
---|---|
_CrtDoForAllClientObjects |
<crtdbg.h>, <errno.h> |
Para obter informações sobre compatibilidade, consulte Compatibilidade.
Bibliotecas: somente versões de depuração de bibliotecas universais do runtime do C.
Confira também
Rotinas de depuração
_CrtSetDbgFlag
Funções de relatório de estado de heap
_CrtReportBlockType