Compartir a través de


Trace Clase

Definición

Proporciona un conjunto de métodos y propiedades que ayudan a realizar un seguimiento del código. Esta clase no puede heredarse.

public ref class Trace sealed
public sealed class Trace
type Trace = class
Public NotInheritable Class Trace
Herencia
Trace

Ejemplos

En el ejemplo siguiente se usa Trace para indicar el principio y el final de la ejecución de un programa. En el ejemplo también se usan los Trace.Indent métodos y Trace.Unindent para distinguir la salida de seguimiento. Para obtener un ejemplo más completo del uso de Trace, vea Cómo: Agregar instrucciones de seguimiento al código de aplicación.

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

Comentarios

Puede usar las propiedades y los métodos de la Trace clase para instrumentar compilaciones de versión. La instrumentación permite supervisar el estado de la aplicación que se ejecuta en la configuración real. El seguimiento le ayuda a aislar los problemas y solucionarlos sin alterar un sistema en ejecución.

Esta clase proporciona métodos para mostrar un Assert cuadro de diálogo y para emitir una aserción que siempre Failserá . Esta clase proporciona métodos de escritura en las siguientes variaciones:

Las BooleanSwitch clases y TraceSwitch proporcionan medios para controlar dinámicamente la salida de seguimiento. En las aplicaciones de .NET Framework, puede modificar los valores de estos modificadores sin volver a compilar la aplicación. Para obtener información sobre cómo usar el archivo de configuración para establecer un modificador en una aplicación de .NET Framework, vea la Switch clase y How to: Create, Initialize y Configure Trace Switches.

Puede personalizar el destino de la salida de seguimiento agregando TraceListener o quitando instancias de la Listeners colección. La Listeners colección la comparten las Debug clases y Trace ; al agregar un agente de escucha de seguimiento a cualquier clase, se agrega el agente de escucha a ambos. De forma predeterminada, la salida de seguimiento se emite mediante la DefaultTraceListener clase .

Nota

Agregar un agente de escucha de seguimiento a la Listeners colección puede provocar una excepción durante el seguimiento, si un recurso usado por el agente de escucha de seguimiento no está disponible. Las condiciones y la excepción iniciada dependen del agente de escucha de seguimiento y no se pueden enumerar en este tema. Puede ser útil realizar llamadas a los Trace métodos en try/catch bloques para detectar y controlar las excepciones de los agentes de escucha de seguimiento.

Nota

Si agrega agentes de escucha de seguimiento al código de confianza parcial, obtendrá una SecurityException excepción, ya que agregar agentes de escucha de seguimiento requiere UnmanagedCode permiso. Para realizar un seguimiento del código de confianza parcial que se ejecuta en un espacio aislado en Visual Studio, no agregue agentes de escucha de seguimiento. En su lugar, vea los Trace mensajes y Debug en la ventana Salida .

La Trace clase proporciona propiedades para obtener o establecer el nivel de y IndentSize, y si se establece AutoFlush en después de Indent cada escritura.

En las aplicaciones de .NET Framework, puede establecer y AutoFlushIndentSize para Trace mediante la edición del archivo de configuración correspondiente al nombre de la aplicación. El archivo de configuración debe tener un formato similar al del ejemplo siguiente:

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

El ConditionalAttribute atributo se aplica a los métodos de Trace. Los compiladores que admiten ConditionalAttribute la omisión de llamadas a estos métodos a menos TRACE que se definan como un símbolo de compilación condicional. Consulte la documentación de un compilador para determinar si ConditionalAttribute se admite y la sintaxis para definir un símbolo de compilación condicional.

Nota

En los proyectos de Visual Studio, de forma predeterminada, el DEBUG símbolo de compilación condicional se define para compilaciones de depuración y el TRACE símbolo se define para las compilaciones de depuración y versión.

Para definir el TRACE símbolo de compilación condicional en C#, agregue la /d:TRACE opción a la línea de comandos del compilador al compilar el código mediante una línea de comandos o agregue #define TRACE a la parte superior del archivo. En Visual Basic, agregue la /d:TRACE=True opción a la línea de comandos del compilador o agregue #Const TRACE=True al archivo .

ConditionalAttribute no es compatible con el compilador de C++. Para proporcionar una funcionalidad equivalente, debe incluir llamadas a los métodos de Trace en un #if defined(TRACE) ... #endif bloque y agregar la /DTRACE opción a la línea de comandos del compilador o agregar #define TRACE al archivo.

Propiedades

AutoFlush

Obtiene o establece si se debe llamar a Flush() en debe llamar en los Listeners después de cada escritura.

CorrelationManager

Obtiene el administrador de correlación para el subproceso de este seguimiento.

IndentLevel

Obtiene o establece el nivel de sangría.

IndentSize

Obtiene o establece el número de espacios de una sangría.

Listeners

Obtiene la colección de agentes de escucha que está supervisando los resultados de seguimiento.

UseGlobalLock

Obtiene o establece un valor que indica si debe utilizarse el bloqueo global.

Métodos

Assert(Boolean)

Comprueba una condición; si la condición es false, aparece un cuadro de mensaje que muestra la pila de llamadas.

Assert(Boolean, String)

Comprueba una condición; si la condición es false, genera un mensaje especificado y muestra un cuadro de mensaje que muestra la pila de llamadas.

Assert(Boolean, String, String)

Comprueba una condición; si la condición es false, genera dos mensajes especificados y muestra un cuadro de mensaje que muestra la pila de llamadas.

Close()

Vacía el búfer de salida y, a continuación, cierra los Listeners.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
Fail(String)

Emite el mensaje de error especificado.

Fail(String, String)

Emite un mensaje de error y un mensaje de error detallado.

Flush()

Vacía el búfer de salida y hace que los datos almacenados en búfer se escriban en el Listeners.

GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
Indent()

Aumenta el IndentLevel actual en uno.

MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
Refresh()

Actualiza los datos de configuración de seguimiento.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)
TraceError(String)

Escribe un mensaje de error en los agentes de escucha de seguimiento de la colección Listeners con el mensaje especificado.

TraceError(String, Object[])

Escribe un mensaje de error en los agentes de escucha de seguimiento de la colección Listeners con la matriz de objetos y la información de formato especificadas.

TraceInformation(String)

Escribe un mensaje informativo en los agentes de escucha de seguimiento de la colección Listeners con el mensaje especificado.

TraceInformation(String, Object[])

Escribe un mensaje informativo en los agentes de escucha de seguimiento de la colección Listeners con la matriz de objetos y la información de formato especificadas.

TraceWarning(String)

Escribe un mensaje de advertencia en los agentes de escucha de seguimiento de la colección Listeners con el mensaje especificado.

TraceWarning(String, Object[])

Escribe un mensaje de advertencia en los agentes de escucha de seguimiento de la colección Listeners con la matriz de objetos y la información de formato especificadas.

Unindent()

Disminuye el IndentLevel actual en uno.

Write(Object)

Escribe el valor del método ToString() del objeto en los agentes de escucha en la colección Listeners.

Write(Object, String)

Escribe un nombre de categoría y el valor del método ToString() del objeto en los agentes de escucha en la colección Listeners.

Write(String)

Escribe un mensaje en los agentes de escucha de seguimiento de la colección Listeners.

Write(String, String)

Escribe un nombre de categoría y un mensaje a los agentes de escucha de la colección Listeners.

WriteIf(Boolean, Object)

Escribe el valor del método ToString() del objeto en los agentes de escucha de seguimiento de la colección Listeners si una condición es true.

WriteIf(Boolean, Object, String)

Escribe un nombre de categoría y el valor del método ToString() del objeto en los agentes de escucha en la colección Listeners si una condición es true.

WriteIf(Boolean, String)

Escribe un mensaje a los agentes de escucha de la colección Listeners si una condición es true.

WriteIf(Boolean, String, String)

Escribe un nombre de categoría y un mensaje a los agentes de escucha de la colección Listeners si una condición es true.

WriteLine(Object)

Escribe el valor del método ToString() del objeto en los agentes de escucha en la colección Listeners.

WriteLine(Object, String)

Escribe un nombre de categoría y el valor del método ToString() del objeto en los agentes de escucha en la colección Listeners.

WriteLine(String)

Escribe un mensaje en los agentes de escucha de seguimiento de la colección Listeners.

WriteLine(String, String)

Escribe un mensaje y un nombre de categoría a los agentes de escucha de seguimiento de la colección Listeners.

WriteLineIf(Boolean, Object)

Escribe el valor del método ToString() del objeto en los agentes de escucha de seguimiento de la colección Listeners si una condición es true.

WriteLineIf(Boolean, Object, String)

Escribe un nombre de categoría y el valor del método ToString() del objeto en los agentes de escucha en la colección Listeners si una condición es true.

WriteLineIf(Boolean, String)

Escribe un mensaje a los agentes de escucha de la colección Listeners si una condición es true.

WriteLineIf(Boolean, String, String)

Escribe un nombre de categoría y un mensaje a los agentes de escucha de la colección Listeners si una condición es true.

Eventos

Refreshing

Se produce cuando TraceSource es necesario actualizar desde la configuración.

Se aplica a

Seguridad para subprocesos

Este tipo es seguro para la ejecución de subprocesos.

Consulte también