Usar verificações de tempo de execução nativas

Em um projeto do Visual Studio C++, você pode usar runtime_checks nativas para detectar erros comuns em tempo de execução, como:

  • Dano do ponteiro de pilha.

  • Excesso de matrizes locais.

  • Dano de pilha.

  • Dependências em variáveis locais não inicializadas.

  • Perda de dados em uma atribuição para uma variável mais curta.

    Se você usar /RTC com uma compilação otimizada (/O), o resultado será um erro do compilador. Se você usar um pragma runtime_checks em uma construção otimizada, o pragma não terá nenhum efeito.

    Quando você depurar um programa que tem as verificações de tempo de execução habilitadas, a ação padrão será para o programa parar e interromper no depurador quando ocorrer um erro em tempo de execução. Você pode alterar este comportamento padrão para qualquer verificação de tempo de execução. Para obter mais informações, consulte Gerenciar exceções com o depurador.

    Os procedimentos a seguir descrevem como habilitar as verificações nativas de tempo de execução em uma compilação de depuração e como modificar o comportamento nativo de verificação de tempo de execução.

    Outros tópicos desta seção fornecem informações sobre:

  • Personalizando as verificações de tempo de execução com a biblioteca em tempo de execução C

Para habilitar as verificações de tempo de execução nativas em uma compilação de depuração

  • Use a opção /RTC e vincule com a versão de depuração de uma biblioteca de runtime C (/MDd, por exemplo).

    Para definir a opção no Visual Studio, consulte a seção Comentários do artigo de referência /RTC (verificações de erro em tempo de execução). Defina o valor na propriedade Verificações Básicas de Runtime e não a propriedade Verificação de Tipo Menor. A propriedade Verificação de Tipo Menor não é recomendada.

Para modificar o comportamento nativo de verificação de tempo de execução

  • Use o pragma runtime_checks.