Compartilhar via


Declarações

Este tópico se aplica a:

Edição

Visual Basic

C#

C++

Desenvolvedores Web

Express

Somente nativo

Padrão

Somente nativo

PRO e equipe

Somente nativo

Legenda de tabela:

Aplica-se

Não é aplicada

Comando ou comandos oculta por padrão.

Uma demonstrativo de demonstrativo especifica uma condição que você Isenção verdadeiras em algum momento específico em seu programa.Se essa condição não mantém true, a declaração falha, execução do programa for interrompida e o Caixa de diálogo Falha de declaração aparece.

O Visual C++ oferece suporte a instruções de declaração com base nas seguintes construções de:

Você pode usar declarações para:

MFC e itens de biblioteca C em tempo de execução

Quando o depurador pára por causa de uma declaração de biblioteca de time de execução MFC ou C, ele navega até o ponto no arquivo de origem onde a afirmação ocorreu (se a fonte estiver disponível).A declaração exibida no Janela de saída , bem sistema autônomo a Falha de declaração caixa de diálogo.Você pode copiar a mensagem de declaração do Saída janela para uma janela de texto se você deseja salvá-lo para referência futura.The Saída janela pode conter outras mensagens de erro também.Examine essas mensagens com cuidado, pois eles fornecem pistas sobre a causa da falha de asserção.

Com o uso livre de asserções em seu código, você pode capturar vários erros durante o desenvolvimento.Uma mercadoria regra é escrever uma declaração para cada suposição feitas.Se você supor que um argumento não for nulo, por exemplo, usar uma demonstrativo de demonstrativo para verificar essa suposição.

_DEBUG

Declaração instruções compilar somente quando _DEBUG é definida.Quando _DEBUG não estiver definido, o compilador trata declarações sistema autônomo instruções nulas.Portanto, instruções de declaração têm sobrecarga zero em seu programa de lançamento final; você pode usá-los livremente em seu código sem afetar o desempenho de sua versão de lançamento e sem a necessidade de usar #ifdef diretivas.

Efeitos colaterais da utilização de itens

Ao adicionar declarações ao seu código, verifique se que as declarações não tem efeitos colaterais.Por exemplo, considere a seguinte declaração:

ASSERT(nM++ > 0); // Don't do this!

Porque o DECLARAR expressão não será avaliada na versão de lançamento do seu programa, nM vai ter valores diferentes nas versões depurar e Release. No MFC, você pode usar o VERIFIQUE SE macro em vez de DECLARAR.VERIFIQUE SE avalia a expressão, mas não verifica o resultado na versão de lançamento.

Ter um cuidado especial sobre o uso de chamadas de função em instruções de declaração, como avaliar uma função pode ter efeitos colaterais inesperados.

ASSERT ( myFnctn(0)==1 ) // unsafe if myFnctn has side effects
VERIFY ( myFnctn(0)==1 ) // safe

VERIFIQUE SE calls myFnctn nas versões de depurar e de versão, portanto, é aceitável o uso. No entanto, você ainda tem a sobrecarga de uma telefonar de função desnecessários na versão de lançamento.

Consulte também

Conceitos

Segurança do Depurador

Referência

Asserção no código gerenciado

Outros recursos

Depuração de código nativo