Trace Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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 |
| Assert(Boolean, String) |
Verifica se há uma condição; se a condição for |
| Assert(Boolean) |
Verifica se há uma condição; se a condição for |
| 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 |
| 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 |
| 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 |
| WriteIf(Boolean, String) |
Grava uma mensagem nos ouvintes de rastreamento na Listeners coleção se uma condição for |
| 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 |
| 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 |
| 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 |
| WriteLineIf(Boolean, String) |
Grava uma mensagem nos ouvintes de rastreamento na Listeners coleção se uma condição for |
Aplica-se a
Acesso thread-safe
Esse tipo é thread safe.