Compartilhar via


_strdup_dbg, _wcsdup_dbg

Versões de _strdup e _wcsdup que usam a versão de depuração do malloc.

Sintaxe

char *_strdup_dbg(
   const char *strSource,
   int blockType,
   const char *filename,
   int linenumber
);
wchar_t *_wcsdup_dbg(
   const wchar_t *strSource,
   int blockType,
   const char *filename,
   int linenumber
);

Parâmetros

strSource
Cadeia de caracteres de origem com terminação nula.

blockType
Tipo solicitado de bloco de memória: _CLIENT_BLOCK ou _NORMAL_BLOCK.

filename
Nome do ponteiro do arquivo de origem que solicitou a operação de alocação ou NULL.

linenumber
Número da linha no arquivo de origem em que a operação de alocação foi solicitada ou NULL.

Valor retornado

Cada uma dessas funções retorna um ponteiro para o local de armazenamento da cadeia de caracteres copiada ou NULL se o armazenamento não puder ser alocado.

Comentários

As funções _strdup_dbg e _wcsdup_dbg são idênticas a _strdup e _wcsdup, exceto pelo fato de que, quando _DEBUG é definido, essas funções usam a versão de depuração de malloc e _malloc_dbg para alocar memória para a cadeia de caracteres duplicada. Para obter informações sobre os recursos de depuração do _malloc_dbg, consulte _malloc_dbg.

Você não precisa chamar essas funções explicitamente na maioria dos casos. Em vez disso, você pode definir o sinalizador _CRTDBG_MAP_ALLOC. Quando _CRTDBG_MAP_ALLOC é definido, as chamadas a _strdup e _wcsdup são remapeadas para _strdup_dbg e _wcsdup_dbg, respectivamente, com o blockType definido como _NORMAL_BLOCK. Portanto, você não precisa chamar essas funções explicitamente, a menos que queira marcar os blocos de heap como _CLIENT_BLOCK. Para obter mais informações sobre os tipos de bloco, consulte Tipos de blocos no heap de depuração.

Mapeamentos de rotina de texto genérico

Rotina TCHAR.H _UNICODE e _MBCS não definidos _MBCS definido _UNICODE definido
_tcsdup_dbg _strdup_dbg _mbsdup _wcsdup_dbg

Requisitos

Rotina Cabeçalho necessário
_strdup_dbg, _wcsdup_dbg <crtdbg.h>

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

Bibliotecas

Todas as versões de depuração das bibliotecas em tempo de execução C.

Confira também

Manipulação de cadeia de caracteres
_strdup, _wcsdup, _mbsdup
Versões de depuração das funções de alocação de heap