Partilhar via


Como: Adicionar instruções de rastreamento ao código do aplicativo

Nota

Este artigo é específico do .NET Framework. Ele não se aplica a implementações mais recentes do .NET, incluindo o .NET 6 e versões posteriores.

Os métodos usados com mais frequência para rastreamento são os métodos para gravar saída para ouvintes: Write, WriteIf, WriteLine, WriteLineIf, Assert e Fail. Esses métodos podem ser divididos em duas categorias: Write, WriteLine e Fail todos emitem saída incondicionalmente, enquanto WriteIf, WriteLineIf e Assert testam uma condição booleana e gravam ou não gravam com base no valor da condição. WriteIf e WriteLineIf emitem saída se a condição for true, e Assert emite saída se a condição for false.

Ao projetar a sua estratégia de rastreio e depuração, deve pensar no aspeto que quer que a saída tenha. Várias instruções Write preenchidas com informações não relacionadas criarão um log difícil de ler. Por outro lado, usar WriteLine para colocar instruções relacionadas em linhas separadas pode dificultar a distinção de quais informações pertencem juntas. Em geral, use várias instruções Write quando quiser combinar informações de várias fontes para criar uma única mensagem informativa e use a instrução WriteLine quando quiser criar uma única mensagem completa.

Para escrever uma linha completa

  1. Chame o WriteLine método ou WriteLineIf .

    Um retorno de carro é anexado ao final da mensagem que esse método retorna, para que a próxima mensagem retornada por Write, WriteIf, WriteLine ou WriteLineIf comece na seguinte linha:

    Dim errorFlag As Boolean = False
    Trace.WriteLine("Error in AppendData procedure.")
    Trace.WriteLineIf(errorFlag, "Error in AppendData procedure.")
    
    bool errorFlag = false;
    System.Diagnostics.Trace.WriteLine ("Error in AppendData procedure.");
    System.Diagnostics.Trace.WriteLineIf(errorFlag,
       "Error in AppendData procedure.");
    

Para escrever uma linha parcial

  1. Chame o Write método ou WriteIf .

    A próxima mensagem enviada por um Write, WriteIf, WriteLine ou WriteLineIf começará na mesma linha que a mensagem emitida pela instrução Write ou WriteIf:

    Dim errorFlag As Boolean = False
    Trace.WriteIf(errorFlag, "Error in AppendData procedure.")
    Debug.WriteIf(errorFlag, "Transaction abandoned.")
    Trace.Write("Invalid value for data request")
    
    bool errorFlag = false;
    System.Diagnostics.Trace.WriteIf(errorFlag,
       "Error in AppendData procedure.");
    System.Diagnostics.Debug.WriteIf(errorFlag, "Transaction abandoned.");
    Trace.Write("Invalid value for data request");
    

Para verificar se determinadas condições existem antes ou depois de executar um método

  1. Chame o Assert método.

    Dim i As Integer = 4
    Trace.Assert(i = 5, "i is not equal to 5.")
    
    int i = 4;
    System.Diagnostics.Trace.Assert(i == 5, "i is not equal to 5.");
    

    Nota

    Você pode usar Assert com rastreamento e depuração. Este exemplo produz a pilha de chamadas para qualquer ouvinte na coleção Listeners . Para obter mais informações, consulte Asserções em código gerenciado e Debug.Assert.

Consulte também