Trace Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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 |
| Assert(Boolean, String) |
Verifica uma condição; Se a condição for |
| Assert(Boolean) |
Verifica uma condição; Se a condição for |
| 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 |
| 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 |
| 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 |
| WriteIf(Boolean, String) |
Escreve uma mensagem para os ouvintes de traços na Listeners coleção se uma condição for |
| 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 |
| 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 |
| 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 |
| WriteLineIf(Boolean, String) |
Escreve uma mensagem para os ouvintes de traços na Listeners coleção se uma condição for |
Aplica-se a
Segurança de Thread
Este tipo é seguro para fios.