Trace Classe

Definição

Fornece um conjunto de métodos e propriedades que o ajudam a rastrear a execução do seu código. Esta classe não pode ser herdada.

public ref class Trace sealed
public sealed class Trace
type Trace = class
Public NotInheritable Class Trace
Herança
Trace

Exemplos

O exemplo seguinte serve Trace para indicar o início e o fim da execução de um programa. O exemplo também utiliza os Trace.Indent métodos e Trace.Unindent para distinguir a saída do traço. Para um exemplo mais completo da utilização de Trace, veja Como: Adicionar Instruções de Rastreamento ao Código da Aplicação.

// Specify /d:TRACE when compiling.

using System;
using System.Diagnostics;

class Test
{
    static void Main()
    {
       Trace.Listeners.Add(new TextWriterTraceListener(Console.Out));
       Trace.AutoFlush = true;
       Trace.Indent();
       Trace.WriteLine("Entering Main");
       Console.WriteLine("Hello World.");
       Trace.WriteLine("Exiting Main");
       Trace.Unindent();
    }
}
' Specify /d:TRACE=True when compiling.

Imports System.Diagnostics

Class Test
    
    Shared Sub Main()
    
        Trace.Listeners.Add(New TextWriterTraceListener(Console.Out))
        Trace.AutoFlush = True
        Trace.Indent()
        Trace.WriteLine("Entering Main")
        Console.WriteLine("Hello World.")
        Trace.WriteLine("Exiting Main")
        Trace.Unindent()
        
    End Sub

End Class

Observações

Podes usar as propriedades e métodos da Trace classe para lançar builds de instrumentos. Instrumentação permite-lhe monitorizar o estado da sua aplicação a correr em ambientes reais. O rastreamento ajuda-te a isolar problemas e resolvê-los sem perturbar o sistema em funcionamento.

Esta classe fornece métodos para mostrar uma Assert caixa de diálogo e emitir uma asserção que irá sempre Fail. Esta classe fornece métodos de escrita nas seguintes variações:

As BooleanSwitch classes e TraceSwitch fornecem meios para controlar dinamicamente a saída do traçado. Nas aplicações .NET Framework, pode modificar os valores destes switches sem ter de recompilar a sua aplicação. Para informações sobre como usar o ficheiro de configuração para definir um switch numa aplicação .NET Framework, consulte a classe Switch e Como: Criar, Inicializar e Configurar Trace Switches.

Pode personalizar o destino da saída do rastreio adicionando TraceListener ou removendo instâncias da Listeners coleção. A Listeners coleção é partilhada tanto pelas classes como DebugTrace pelas classes; adicionar um ouvinte de traço a qualquer uma das classes adiciona o ouvinte a ambas. Por defeito, a saída do traço é emitida usando a DefaultTraceListener classe.

Note

Adicionar um ouvinte de rastreio à Listeners coleção pode causar uma exceção durante o rastreamento, caso um recurso utilizado pelo ouvinte de rastreio não esteja disponível. As condições e a exceção lançada dependem do ouvinte de traços e não podem ser enumeradas neste tópico. Pode ser útil fazer chamadas aos Trace métodos em try/catch blocos para detetar e tratar quaisquer exceções dos ouvintes de traços.

Note

Se adicionar ouvintes de rastreamento a código parcialmente confiável, terá uma SecurityException exceção, porque adicionar ouvintes de rastreamento requer UnmanagedCode permissão. Para rastrear código parcialmente confiável que está a correr numa sandbox no Visual Studio, não adicione ouvintes de rastreamento. Em vez disso, veja as Trace mensagens e Debug na janela de Saída .

A Trace classe fornece propriedades para obter ou definir o nível de Indent e o IndentSize, e se para AutoFlush após cada escrita.

Nas aplicações .NET Framework, pode definir o AutoFlush e IndentSize para Trace editando o ficheiro de configuração correspondente ao nome da sua aplicação. O ficheiro de configuração deve ser formatado como o seguinte exemplo:

<configuration>
  <system.diagnostics>
    <trace autoflush="false" indentsize="3" />
  </system.diagnostics>
</configuration>

O ConditionalAttribute atributo aplica-se aos métodos de Trace. Compiladores que suportam ConditionalAttribute ignorar chamadas a estes métodos, a menos que TRACE esteja definido como um símbolo de compilação condicional. Consulte a documentação do compilador para determinar se ConditionalAttribute é suportado e a sintaxe para definir um símbolo de compilação condicional.

Note

Em Visual Studio projetos, por defeito, o símbolo de compilação condicional DEBUG é definido para compilações de depuração, e o símbolo TRACE é definido tanto para compilações de depuração como para versões de release.

Para definir o TRACE símbolo de compilação condicional em C#, adicione a /d:TRACE opção à linha de comandos do compilador quando compilar o seu código usando uma linha de comandos, ou adicione #define TRACE no topo do seu ficheiro. Em Visual Basic, adicione a opção /d:TRACE=True à linha de comandos do compilador ou adicione #Const TRACE=True ao ficheiro.

ConditionalAttribute não é suportado pelo compilador C++. Para fornecer funcionalidade equivalente, deve incluir chamadas aos métodos de Trace num #if defined(TRACE) ... #endif bloco e adicionar a /DTRACE opção à linha de comandos do compilador ou adicionar #define TRACE ao ficheiro.

Propriedades

Name Description
AutoFlush

Obtém ou define se Flush() deve ser chamado após Listeners cada escrita.

CorrelationManager

Obtém o gestor de correlação do tópico para este rastreio.

IndentLevel

Obtém ou define o nível da recuação.

IndentSize

Obtém ou define o número de espaços num reentro.

Listeners

Obtém a coleção de ouvintes que está a monitorizar a saída do traço.

UseGlobalLock

Recebe ou define um valor que indica se o bloqueio global deve ser usado.

Métodos

Name Description
Assert(Boolean, String, String)

Verifica uma condição; Se a condição for false, gera duas mensagens especificadas e exibe uma caixa de mensagens que mostra a pilha de chamadas.

Assert(Boolean, String)

Verifica uma condição; Se a condição for false, gera uma mensagem especificada e exibe uma caixa de mensagens que mostra a pilha de chamadas.

Assert(Boolean)

Verifica uma condição; Se a condição for false, exibe uma caixa de mensagem que mostra a pilha de chamadas.

Close()

Limpa o buffer de saída e depois fecha o Listeners.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
Fail(String, String)

Emite uma mensagem de erro e uma mensagem de erro detalhada.

Fail(String)

Emite a mensagem de erro especificada.

Flush()

Limpa o buffer de saída e faz com que os dados armazenados sejam escritos no Listenersarquivo .

GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
Indent()

Aumenta a corrente IndentLevel em um.

MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
Refresh()

Atualiza os dados de configuração do traço.

ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)
TraceError(String, Object[])

Escreve uma mensagem de erro para os ouvintes de rastreio na Listeners coleção usando o array especificado de objetos e informação de formatação.

TraceError(String)

Escreve uma mensagem de erro para os ouvintes de rastreio na Listeners coleção usando a mensagem especificada.

TraceInformation(String, Object[])

Escreve uma mensagem informativa para os ouvintes de rastreio na Listeners coleção usando o array especificado de objetos e informação de formatação.

TraceInformation(String)

Escreve uma mensagem informativa para os ouvintes de traços na Listeners coleção usando a mensagem especificada.

TraceWarning(String, Object[])

Escreve uma mensagem de aviso para os ouvintes de rastreio na Listeners coleção usando o array especificado de objetos e informação de formatação.

TraceWarning(String)

Escreve uma mensagem de aviso para os ouvintes de rastreio na Listeners coleção usando a mensagem especificada.

Unindent()

Diminui a corrente IndentLevel em um.

Write(Object, String)

Escreve um nome de categoria e o valor do método do objeto ToString() para os ouvintes de traços na Listeners coleção.

Write(Object)

Escreve o valor do método do ToString() objeto para os ouvintes de traços na Listeners coleção.

Write(String, String)

Escreve um nome de categoria e uma mensagem para os ouvintes de traços na Listeners coleção.

Write(String)

Escreve uma mensagem para os ouvintes de rastreamento na Listeners coleção.

WriteIf(Boolean, Object, String)

Escreve um nome de categoria e o valor do método do objeto ToString() para os ouvintes de traços na Listeners coleção se uma condição for true.

WriteIf(Boolean, Object)

Escreve o valor do método do ToString() objeto para os ouvintes de traços na Listeners coleção se uma condição for true.

WriteIf(Boolean, String, String)

Escreve um nome de categoria e uma mensagem para os ouvintes de traços na Listeners coleção se uma condição for true.

WriteIf(Boolean, String)

Escreve uma mensagem para os ouvintes de traços na Listeners coleção se uma condição for true.

WriteLine(Object, String)

Escreve um nome de categoria e o valor do método do objeto ToString() para os ouvintes de traços na Listeners coleção.

WriteLine(Object)

Escreve o valor do método do ToString() objeto para os ouvintes de traços na Listeners coleção.

WriteLine(String, String)

Escreve um nome de categoria e uma mensagem para os ouvintes de rastreamento na Listeners coleção.

WriteLine(String)

Escreve uma mensagem para os ouvintes de rastreamento na Listeners coleção.

WriteLineIf(Boolean, Object, String)

Escreve um nome de categoria e o valor do método do objeto ToString() para os ouvintes de traços na Listeners coleção se uma condição for true.

WriteLineIf(Boolean, Object)

Escreve o valor do método do ToString() objeto para os ouvintes de traços na Listeners coleção se uma condição for true.

WriteLineIf(Boolean, String, String)

Escreve um nome de categoria e uma mensagem para os ouvintes de traços na Listeners coleção se uma condição for true.

WriteLineIf(Boolean, String)

Escreve uma mensagem para os ouvintes de traços na Listeners coleção se uma condição for true.

Aplica-se a

Segurança de Thread

Este tipo é seguro para fios.

Ver também