Trace Trace Trace Trace Class

Definição

Fornece um conjunto de métodos e propriedades que ajudam a rastrear a execução do código.Provides a set of methods and properties that help you trace the execution of your code. Essa classe não pode ser herdada.This class cannot be inherited.

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

Exemplos

O exemplo a seguir Trace usa para indicar o início e o fim da execução de um programa.The following example uses Trace to indicate the beginning and the end of a program's execution. O exemplo também usa os Trace.Indent métodos Trace.Unindent e para distinguir a saída de rastreamento.The example also uses the Trace.Indent and Trace.Unindent methods to distinguish the tracing output. Para obter um exemplo mais completo do uso do Trace, consulte como: Adicione instruções de rastreamento ao códigodo aplicativo.For a more complete example of the use of Trace, see How to: Add Trace Statements to Application Code.

// Specify /DTRACE when compiling.

#using <System.dll>
using namespace System;
using namespace System::Diagnostics;

int main()
{
   #if defined(TRACE)
   Trace::Listeners->Add( gcnew TextWriterTraceListener( Console::Out ) );
   Trace::AutoFlush = true;
   Trace::Indent();
   Trace::WriteLine( "Entering Main" );
   #endif
   Console::WriteLine( "Hello World." );
   #if defined(TRACE)
   Trace::WriteLine( "Exiting Main" );
   Trace::Unindent();
   #endif
   return 0;
}
// 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 criar versões de versão de instrumento.You can use the properties and methods in the Trace class to instrument release builds. A instrumentação permite que você monitore a integridade do aplicativo em execução nas configurações da vida real.Instrumentation allows you to monitor the health of your application running in real-life settings. O rastreamento ajuda você a isolar problemas e corrigi-los sem perturbar um sistema em execução.Tracing helps you isolate problems and fix them without disturbing a running system.

Essa classe fornece métodos para exibir uma Assert caixa de diálogo e emitir uma asserção que sempre Failterá.This class provides methods to display an Assert dialog box, and to emit an assertion that will always Fail. Essa classe fornece métodos de gravação nas seguintes variações: Write WriteIf, WriteLine, e WriteLineIf.This class provides write methods in the following variations: Write, WriteLine, WriteIf, and WriteLineIf.

As BooleanSwitch classes TraceSwitch e fornecem meios para controlar dinamicamente a saída de rastreamento.The BooleanSwitch and TraceSwitch classes provide means to dynamically control the tracing output. Você pode modificar os valores dessas opções sem recompilar seu aplicativo.You can modify the values of these switches without recompiling your application. Para obter informações sobre como usar o arquivo de configuração para definir uma opção Switch , consulte a classe e o como: Criar, inicializar e configurar o tópico de opções de rastreamento.For information on using the configuration file to set a switch, see the Switch class and the How to: Create, Initialize and Configure Trace Switches topic.

Você pode personalizar o destino da saída de rastreamento adicionando TraceListener instâncias ou removendo instâncias Listeners da coleção.You can customize the tracing output's target by adding TraceListener instances to or removing instances from the Listeners collection. A Listeners coleção é compartilhada Debug tanto pelo quanto Trace pelas classes; a adição de um ouvinte de rastreamento a qualquer classe adiciona o ouvinte a ambos.The Listeners collection is shared by both the Debug and the Trace classes; adding a trace listener to either class adds the listener to both. Por padrão, a saída de rastreamento é emitida DefaultTraceListener usando a classe.By default, trace output is emitted using the DefaultTraceListener class.

Observação

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.Adding a trace listener to the Listeners collection can cause an exception to be thrown while tracing, if a resource used by the trace listener is not available. As condições e a exceção geradas dependem do ouvinte de rastreamento e não podem ser enumeradas neste tópico.The conditions and the exception thrown depend on the trace listener and cannot be enumerated in this topic. Pode ser útil fazer Trace chamadas para os métodos em try / catch blocos para detectar e tratar quaisquer exceções de ouvintes de rastreamento.It may be useful to place calls to the Trace methods in try/catch blocks to detect and handle any exceptions from trace listeners.

Observação

Se você adicionar ouvintes de rastreamento a código parcialmente confiável, receberá uma SecurityException exceção, pois adicionar ouvintes de rastreamento UnmanagedCode requer permissão.If you add trace listeners to partially trusted code, you will get a SecurityException exception, because adding trace listeners requires UnmanagedCode permission. Para rastrear o código parcialmente confiável que está sendo executado em uma área restrita no Visual Studio, não adicione ouvintes de rastreamento.To trace partially trusted code that is running in a sandbox in Visual Studio, do not add trace listeners. Em vez disso, Trace exiba Debug as mensagens e na janela de saída .Instead, view the Trace and Debug messages in the Output window.

A Trace classe fornece propriedades para obter ou definir o nível de Indent, o IndentSizee se deseja AutoFlush após cada gravação.The Trace class provides properties to get or set the level of Indent, the IndentSize, and whether to AutoFlush after each write.

Para definir AutoFlush and IndentSize para Trace, você pode editar o arquivo de configuração que corresponde ao nome do seu aplicativo.To set the AutoFlush and IndentSize for Trace, you can edit the configuration file that corresponds to the name of your application. O arquivo de configuração deve ser formatado como o exemplo a seguir:The configuration file should be formatted like the following example:

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

O ConditionalAttribute atributo é aplicado aos métodos de Trace.The ConditionalAttribute attribute is applied to the methods of Trace. Compiladores que oferecem ConditionalAttribute suporte a ignorar chamadas para esses métodos, a menos que "Trace" seja definido como um símbolo de compilação condicional.Compilers that support ConditionalAttribute ignore calls to these methods unless "TRACE" is defined as a conditional compilation symbol. Consulte a documentação de um compilador para determinar se ConditionalAttribute o tem suporte e a sintaxe para definir um símbolo de compilação condicional.Refer to a compiler's documentation to determine whether ConditionalAttribute is supported and the syntax for defining a conditional compilation symbol.

Observação

Em projetos do Visual Studio, por padrão, o símbolo de compilação condicional "depurar" é definido para compilações de depuração e o símbolo de "rastreamento" é definido para compilações de depuração e de versão.In Visual Studio projects, by default, the "DEBUG" conditional compilation symbol is defined for debug builds, and the "TRACE" symbol is defined for both debug and release builds. Para obter informações sobre como desabilitar esse comportamento, consulte a documentação do Visual Studio.For information about how to disable this behavior, see the Visual Studio documentation.

Para definir o símbolo de compilação condicional "Trace" C#no, adicione /d:TRACE a opção à linha de comando do compilador ao compilar seu código usando uma linha de comando ou #define TRACE adicione-o à parte superior do seu arquivo.To define the "TRACE" conditional compilation symbol in C#, add the /d:TRACE option to the compiler command line when you compile your code using a command line, or add #define TRACE to the top of your file. Em Visual Basic, adicione a /d:TRACE=True opção à linha de comando do compilador ou #Const TRACE=True adicione ao arquivo.In Visual Basic, add the /d:TRACE=True option to the compiler command line or add #Const TRACE=True to the file.

ConditionalAttributeNão é suportado pelo C++ compilador.ConditionalAttribute is not supported by the C++ compiler. Para fornecer funcionalidade equivalente, você deve colocar as chamadas para os métodos Trace de em #if defined(TRACE) ... #endif um bloco e adicionar a /DTRACE opção à linha de comando do compilador ou #define TRACE adicionar ao arquivo.To provide equivalent functionality, you must enclose calls to the methods of Trace in an #if defined(TRACE) ... #endif block, and add the /DTRACE option to the compiler command line or add #define TRACE to the file.

Propriedades

AutoFlush AutoFlush AutoFlush AutoFlush

Obtém ou define se o Flush() deve ser chamado no Listeners após cada gravação.Gets or sets whether Flush() should be called on the Listeners after every write.

CorrelationManager CorrelationManager CorrelationManager CorrelationManager

Obtém o gerenciador de correlação para o thread para esse rastreamento.Gets the correlation manager for the thread for this trace.

IndentLevel IndentLevel IndentLevel IndentLevel

Obtém ou define o nível de recuo.Gets or sets the indent level.

IndentSize IndentSize IndentSize IndentSize

Obtém ou define o número de espaços em um recuo.Gets or sets the number of spaces in an indent.

Listeners Listeners Listeners Listeners

Obtém a coleção de ouvintes monitorando a saída de rastreamento.Gets the collection of listeners that is monitoring the trace output.

UseGlobalLock UseGlobalLock UseGlobalLock UseGlobalLock

Obtém ou define um valor que indica se o bloqueio global deve ser usado.Gets or sets a value indicating whether the global lock should be used.

Métodos

Assert(Boolean) Assert(Boolean) Assert(Boolean) Assert(Boolean)

Verifica uma condição; se a condição for false, exibirá uma caixa de mensagem que mostra a pilha de chamadas.Checks for a condition; if the condition is false, displays a message box that shows the call stack.

Assert(Boolean, String) Assert(Boolean, String) Assert(Boolean, String) Assert(Boolean, String)

Verifica 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.Checks for a condition; if the condition is false, outputs a specified message and displays a message box that shows the call stack.

Assert(Boolean, String, String) Assert(Boolean, String, String) Assert(Boolean, String, String) Assert(Boolean, String, String)

Verifica uma condição. Se a condição for false, gerará duas mensagens especificadas e exibe uma caixa de mensagem que mostra a pilha de chamadas.Checks for a condition; if the condition is false, outputs two specified messages and displays a message box that shows the call stack.

Close() Close() Close() Close()

Libera o buffer de saída e, em seguida, fecha o Listeners.Flushes the output buffer, and then closes the Listeners.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.Determines whether the specified object is equal to the current object.

(Inherited from Object)
Fail(String) Fail(String) Fail(String) Fail(String)

Emite a mensagem de erro especificada.Emits the specified error message.

Fail(String, String) Fail(String, String) Fail(String, String) Fail(String, String)

Emite uma mensagem de erro e uma mensagem de erro detalhada.Emits an error message, and a detailed error message.

Flush() Flush() Flush() Flush()

Libera o buffer de saída e faz com que os dados armazenados em buffer sejam gravados no Listeners.Flushes the output buffer, and causes buffered data to be written to the Listeners.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Serve como a função de hash padrão.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Obtém o Type da instância atual.Gets the Type of the current instance.

(Inherited from Object)
Indent() Indent() Indent() Indent()

Aumenta o IndentLevel atual em um.Increases the current IndentLevel by one.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

(Inherited from Object)
Refresh() Refresh() Refresh() Refresh()

Atualiza os dados de configuração de rastreamento.Refreshes the trace configuration data.

ToString() ToString() ToString() ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.Returns a string that represents the current object.

(Inherited from Object)
TraceError(String) TraceError(String) TraceError(String) TraceError(String)

Grava uma mensagem de erro para os ouvintes de rastreamento na coleção Listeners usando a mensagem especificada.Writes an error message to the trace listeners in the Listeners collection using the specified message.

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

Grava uma mensagem de erro para os ouvintes de rastreamento na coleção Listeners usando a matriz de objetos e as informações de formatação especificadas.Writes an error message to the trace listeners in the Listeners collection using the specified array of objects and formatting information.

TraceInformation(String) TraceInformation(String) TraceInformation(String) TraceInformation(String)

Grava uma mensagem informativa para os ouvintes de rastreamento na coleção Listeners usando a mensagem especificada.Writes an informational message to the trace listeners in the Listeners collection using the specified message.

TraceInformation(String, Object[]) TraceInformation(String, Object[]) TraceInformation(String, Object[]) TraceInformation(String, Object[])

Grava uma mensagem informativa para os ouvintes de rastreamento na coleção Listeners usando a matriz de objetos e as informações de formatação especificadas.Writes an informational message to the trace listeners in the Listeners collection using the specified array of objects and formatting information.

TraceWarning(String) TraceWarning(String) TraceWarning(String) TraceWarning(String)

Grava uma mensagem de aviso para os ouvintes de rastreamento na coleção Listeners usando a mensagem especificada.Writes a warning message to the trace listeners in the Listeners collection using the specified message.

TraceWarning(String, Object[]) TraceWarning(String, Object[]) TraceWarning(String, Object[]) TraceWarning(String, Object[])

Grava uma mensagem de aviso para os ouvintes de rastreamento na coleção Listeners usando a matriz de objetos e as informações de formatação especificadas.Writes a warning message to the trace listeners in the Listeners collection using the specified array of objects and formatting information.

Unindent() Unindent() Unindent() Unindent()

Diminui o IndentLevel atual em um.Decreases the current IndentLevel by one.

Write(Object) Write(Object) Write(Object) Write(Object)

Grava o valor do método ToString() do objeto nos ouvintes de rastreamento da coleção Listeners.Writes the value of the object's ToString() method to the trace listeners in the Listeners collection.

Write(Object, String) Write(Object, String) Write(Object, String) Write(Object, String)

Grava um nome de categoria e o valor do método ToString() do objeto nos ouvintes de rastreamento da coleção Listeners.Writes a category name and the value of the object's ToString() method to the trace listeners in the Listeners collection.

Write(String) Write(String) Write(String) Write(String)

Grava uma mensagem para os ouvintes de rastreamento na coleção Listeners.Writes a message to the trace listeners in the Listeners collection.

Write(String, String) Write(String, String) Write(String, String) Write(String, String)

Grava um nome de categoria e uma mensagem para os ouvintes de rastreamento na coleção Listeners.Writes a category name and a message to the trace listeners in the Listeners collection.

WriteIf(Boolean, Object) WriteIf(Boolean, Object) WriteIf(Boolean, Object) WriteIf(Boolean, Object)

Grava o valor do método ToString() do objeto nos ouvintes de rastreamento da coleção Listeners se uma condição for true.Writes the value of the object's ToString() method to the trace listeners in the Listeners collection if a condition is true.

WriteIf(Boolean, Object, String) WriteIf(Boolean, Object, String) WriteIf(Boolean, Object, String) WriteIf(Boolean, Object, String)

Grava um nome de categoria e o valor do método ToString() do objeto nos ouvintes de rastreamento da coleção Listeners se uma condição for true.Writes a category name and the value of the object's ToString() method to the trace listeners in the Listeners collection if a condition is true.

WriteIf(Boolean, String) WriteIf(Boolean, String) WriteIf(Boolean, String) WriteIf(Boolean, String)

Grava uma mensagem para os ouvintes de rastreamento na coleção Listeners se uma condição for true.Writes a message to the trace listeners in the Listeners collection if a condition is true.

WriteIf(Boolean, String, String) WriteIf(Boolean, String, String) WriteIf(Boolean, String, String) WriteIf(Boolean, String, String)

Grava um nome e a mensagem da categoria nos ouvintes de rastreamento da coleção Listeners se uma condição for true.Writes a category name and message to the trace listeners in the Listeners collection if a condition is true.

WriteLine(Object) WriteLine(Object) WriteLine(Object) WriteLine(Object)

Grava o valor do método ToString() do objeto nos ouvintes de rastreamento da coleção Listeners.Writes the value of the object's ToString() method to the trace listeners in the Listeners collection.

WriteLine(Object, String) WriteLine(Object, String) WriteLine(Object, String) WriteLine(Object, String)

Grava um nome de categoria e o valor do método ToString() do objeto nos ouvintes de rastreamento da coleção Listeners.Writes a category name and the value of the object's ToString() method to the trace listeners in the Listeners collection.

WriteLine(String) WriteLine(String) WriteLine(String) WriteLine(String)

Grava uma mensagem para os ouvintes de rastreamento na coleção Listeners.Writes a message to the trace listeners in the Listeners collection.

WriteLine(String, String) WriteLine(String, String) WriteLine(String, String) WriteLine(String, String)

Grava um nome de categoria e mensagem nos ouvintes de rastreamento da coleção Listeners.Writes a category name and message to the trace listeners in the Listeners collection.

WriteLineIf(Boolean, Object) WriteLineIf(Boolean, Object) WriteLineIf(Boolean, Object) WriteLineIf(Boolean, Object)

Grava o valor do método ToString() do objeto nos ouvintes de rastreamento da coleção Listeners se uma condição for true.Writes the value of the object's ToString() method to the trace listeners in the Listeners collection if a condition is true.

WriteLineIf(Boolean, Object, String) WriteLineIf(Boolean, Object, String) WriteLineIf(Boolean, Object, String) WriteLineIf(Boolean, Object, String)

Grava um nome de categoria e o valor do método ToString() do objeto nos ouvintes de rastreamento da coleção Listeners se uma condição for true.Writes a category name and the value of the object's ToString() method to the trace listeners in the Listeners collection if a condition is true.

WriteLineIf(Boolean, String) WriteLineIf(Boolean, String) WriteLineIf(Boolean, String) WriteLineIf(Boolean, String)

Grava uma mensagem para os ouvintes de rastreamento na coleção Listeners se uma condição for true.Writes a message to the trace listeners in the Listeners collection if a condition is true.

WriteLineIf(Boolean, String, String) WriteLineIf(Boolean, String, String) WriteLineIf(Boolean, String, String) WriteLineIf(Boolean, String, String)

Grava um nome e a mensagem da categoria nos ouvintes de rastreamento da coleção Listeners se uma condição for true.Writes a category name and message to the trace listeners in the Listeners collection if a condition is true.

Segurança

SecurityPermission
para operar com código não gerenciado.for operating with unmanaged code. Ação de segurança: Demand.Security action: Demand. Enumeração associada: UnmanagedCodeAssociated enumeration: UnmanagedCode

Aplica-se a

Acesso thread-safe

Este tipo é thread-safe.This type is thread safe.

Veja também