Trace Classe

Definição

Fornece um conjunto de métodos e propriedades que ajudam a rastrear a execução do código. Essa 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 a seguir usa Trace para indicar o início e o fim da execução de um programa. O exemplo também usa os métodos e Trace.Unindent para Trace.Indent distinguir a saída de rastreamento. Para obter um exemplo mais completo do uso de, consulte Como adicionar instruções de rastreamento ao código do Traceaplicativo.

// 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

Comentários

Você pode usar as propriedades e os métodos na Trace classe para instrumentar builds de versão. A instrumentação permite monitorar a integridade do aplicativo em execução nas configurações da vida real. O rastreamento ajuda você a isolar problemas e corrigi-los sem perturbar um sistema em execução.

Essa classe fornece métodos para exibir uma Assert caixa de diálogo e emitir uma declaração que sempre Failserá . Essa classe fornece métodos de gravação nas seguintes variações:

O BooleanSwitch e TraceSwitch as classes fornecem meios para controlar dinamicamente a saída de rastreamento. Em aplicativos .NET Framework, você pode modificar os valores dessas opções sem recompilar seu aplicativo. Para obter informações sobre como usar o arquivo de configuração para definir uma opção em um aplicativo .NET Framework, consulte a classe Switch e How to: Create, Initialize e Configure Trace Switches.

Você pode personalizar o destino da saída de rastreamento adicionando TraceListener instâncias ou removendo instâncias da Listeners coleção. A Listeners coleção é compartilhada pelas Debug classes e Trace pelas classes; adicionar um ouvinte de rastreamento a qualquer classe adiciona o ouvinte a ambos. Por padrão, a saída de rastreamento é emitida usando a DefaultTraceListener classe.

Note

Adicionar um ouvinte de rastreamento à Listeners coleção pode fazer com que uma exceção seja gerada durante o rastreamento, se um recurso usado pelo ouvinte de rastreamento não estiver disponível. As condições e a exceção gerada dependem do ouvinte de rastreamento e não podem ser enumeradas neste tópico. Pode ser útil fazer chamadas aos Trace métodos em try/catch blocos para detectar e manipular quaisquer exceções de ouvintes de rastreamento.

Note

Se você adicionar ouvintes de rastreamento a um código parcialmente confiável, você receberá uma SecurityException exceção, pois adicionar ouvintes de rastreamento requer UnmanagedCode permissão. Para rastrear o código parcialmente confiável em execução em uma área restrita em Visual Studio, não adicione ouvintes de rastreamento. Em vez disso, exiba as mensagens e Debug a Trace janela Saída.

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

Em aplicativos .NET Framework, você pode definir o AutoFlush e IndentSize para Trace editando o arquivo de configuração que corresponde ao nome do aplicativo. O arquivo de configuração deve ser formatado como o exemplo a seguir:

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

O ConditionalAttribute atributo é aplicado aos métodos de Trace. Compiladores que dão suporte ConditionalAttribute a ignorar chamadas a esses métodos TRACE , a menos que seja definido como um símbolo de compilação condicional. Consulte a documentação de um compilador para determinar se ConditionalAttribute há suporte e a sintaxe para definir um símbolo de compilação condicional.

Note

Em projetos Visual Studio, por padrão, o símbolo de compilação condicional DEBUG é definido para builds de depuração e o símbolo TRACE é definido para builds de depuração e de versão.

Para definir o TRACE símbolo de compilação condicional em C#, adicione a opção /d:TRACE à linha de comando do compilador ao compilar seu código usando uma linha de comando ou adicione #define TRACE à parte superior do arquivo. No Visual Basic, adicione a opção /d:TRACE=True à linha de comando do compilador ou adicione #Const TRACE=True ao arquivo.

ConditionalAttribute não há suporte para o compilador C++. Para fornecer funcionalidade equivalente, você deve colocar chamadas entre os métodos de Trace um #if defined(TRACE) ... #endif bloco e adicionar a opção /DTRACE à linha de comando do compilador ou adicionar #define TRACE ao arquivo.

Propriedades

Nome Description
AutoFlush

Obtém ou define se Flush() deve ser chamado após Listeners cada gravação.

CorrelationManager

Obtém o gerenciador de correlação do thread para esse rastreamento.

IndentLevel

Obtém ou define o nível de recuo.

IndentSize

Obtém ou define o número de espaços em um recuo.

Listeners

Obtém a coleção de ouvintes que está monitorando a saída de rastreamento.

UseGlobalLock

Obtém ou define um valor que indica se o bloqueio global deve ser usado.

Métodos

Nome Description
Assert(Boolean, String, String)

Verifica se há uma condição; se a condição for false, gerará duas mensagens especificadas e exibirá uma caixa de mensagem que mostra a pilha de chamadas.

Assert(Boolean, String)

Verifica se há uma condição; se a condição for false, gerará uma mensagem especificada e exibirá uma caixa de mensagem que mostra a pilha de chamadas.

Assert(Boolean)

Verifica se há uma condição; se a condição for false, exibirá uma caixa de mensagem que mostra a pilha de chamadas.

Close()

Libera o buffer de saída e 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()

Libera o buffer de saída e faz com que os dados em buffer sejam gravados no Listeners.

GetHashCode()

Serve como a função hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
Indent()

Aumenta a corrente em IndentLevel um.

MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
Refresh()

Atualiza os dados de configuração de rastreamento.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

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

Grava uma mensagem de erro para os ouvintes de rastreamento na Listeners coleção usando a matriz especificada de objetos e informações de formatação.

TraceError(String)

Grava uma mensagem de erro nos ouvintes de rastreamento na Listeners coleção usando a mensagem especificada.

TraceInformation(String, Object[])

Grava uma mensagem informativa para os ouvintes de rastreamento na Listeners coleção usando a matriz especificada de objetos e informações de formatação.

TraceInformation(String)

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

TraceWarning(String, Object[])

Grava uma mensagem de aviso para os ouvintes de rastreamento na Listeners coleção usando a matriz especificada de objetos e informações de formatação.

TraceWarning(String)

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

Unindent()

Diminui a corrente IndentLevel em um.

Write(Object, String)

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

Write(Object)

Grava o valor do método do ToString() objeto nos ouvintes de rastreamento na Listeners coleção.

Write(String, String)

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

Write(String)

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

WriteIf(Boolean, Object, String)

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

WriteIf(Boolean, Object)

Grava o valor do método do ToString() objeto nos ouvintes de rastreamento na Listeners coleção se uma condição for true.

WriteIf(Boolean, String, String)

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

WriteIf(Boolean, String)

Grava uma mensagem nos ouvintes de rastreamento na Listeners coleção se uma condição for true.

WriteLine(Object, String)

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

WriteLine(Object)

Grava o valor do método do ToString() objeto nos ouvintes de rastreamento na Listeners coleção.

WriteLine(String, String)

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

WriteLine(String)

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

WriteLineIf(Boolean, Object, String)

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

WriteLineIf(Boolean, Object)

Grava o valor do método do ToString() objeto nos ouvintes de rastreamento na Listeners coleção se uma condição for true.

WriteLineIf(Boolean, String, String)

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

WriteLineIf(Boolean, String)

Grava uma mensagem nos ouvintes de rastreamento na Listeners coleção se uma condição for true.

Aplica-se a

Acesso thread-safe

Esse tipo é thread safe.

Confira também