Compartilhar via


Como: Usar a pilha de depuração

This topic applies to:

Edition

Visual Basic

C#

F#

C++

Web Developer

Express

O tópico não é aplicável O tópico não é aplicável O tópico não é aplicável

Native only

O tópico não é aplicável

Pro, Premium e Ultimate

O tópico não é aplicável O tópico não é aplicável O tópico não é aplicável

Native only

O tópico não é aplicável

Todas as chamadas de funções de heap como malloc, free, calloc, realloc, new, e delete resolver para versões de depuração dessas funções que operam na pilha de depuração. Quando você libera um bloco de memória, a pilha de depuração automaticamente verifica a integridade dos buffers em ambos os lados da sua área alocada e emite um relatório de erros se substituindo ocorreu.

Para usar a pilha de depuração

  • Vincule a compilação de depuração do seu aplicativo com uma versão de depuração da biblioteca de tempo de execução C.

Para alterar um ou mais campos de bits _crtDbgFlag e crie um novo estado para o sinalizador

  1. Chame _CrtSetDbgFlag com o newFlag parâmetro definido como _CRTDBG_REPORT_FLAG (para obter o atual _crtDbgFlag estado) e armazenar o valor retornado na variável temporária.

  2. Ativar qualquer bits por OR- ing (bit a bit | símbolo) variável temporária com as máscaras de bits correspondentes (representadas pelas constantes de manifesto no código do aplicativo).

  3. Desativar outros bits por AND- ing (bit a bit & símbolo) a variável com um NOT (bit a bit ~ símbolo) do apropriado bitmasks.

  4. Chame _CrtSetDbgFlag com o newFlag parâmetro definido como o valor armazenado na variável temporária para criar o novo estado de _crtDbgFlag.

Exemplo

Por exemplo, as seguintes linhas de código ativar a detecção automática de vazamento e desativar a verificação de blocos do tipo _CRT_BLOCK:

// Get current flag
int tmpFlag = _CrtSetDbgFlag( _CRTDBG_REPORT_FLAG );

// Turn on leak-checking bit.
tmpFlag |= _CRTDBG_LEAK_CHECK_DF;

// Turn off CRT block checking bit.
tmpFlag &= ~_CRTDBG_CHECK_CRT_DF;

// Set flag to the new value.
_CrtSetDbgFlag( tmpFlag );

Consulte também

Outros recursos

A pilha de depuração do CRT