Exportar (0) Imprimir
Expandir todo

Debug (Clase)

Actualización: noviembre 2007

Proporciona un conjunto de métodos y propiedades que ayudan a depurar el código. No se puede heredar esta clase.

Espacio de nombres:  System.Diagnostics
Ensamblado:  System (en System.dll)

public ref class Debug sealed
public final class Debug
public final class Debug

Si utiliza los métodos de la clase Debug para imprimir la información de depuración y comprobar la lógica con aserciones, puede hacer que el código sea más sólido sin afectar al rendimiento y al tamaño del código del producto de distribución.

Esta clase proporciona métodos para mostrar un cuadro de diálogo Assert y emitir una aserción que siempre produzca un error. Esta clase dispone de métodos de escritura con las siguientes variaciones: Write, WriteLine, WriteIf y WriteLineIf.

Las clases BooleanSwitch y TraceSwitch proporcionan medios para controlar de forma dinámica los resultados del seguimiento. Se pueden cambiar los valores de estos modificadores sin volver a compilar la aplicación. Para obtener información acerca de cómo utilizar el archivo de configuración para establecer un modificador, vea la clase Switch y el tema Modificadores de seguimiento.

Para personalizar el destino de los resultados del seguimiento, agregue o quite instancias de TraceListener de la propiedad Listeners. De forma predeterminada, la clase DefaultTraceListener emite resultados de seguimiento.

Se puede modificar el nivel de sangría con el método Indent o la propiedad IndentLevel. Para modificar el espaciado de una sangría, se utiliza la propiedad IndentSize. Es posible especificar si hay que vaciar de forma automática el búfer de resultados después de cada escritura; para ello, hay que establecer la propiedad AutoFlush en true.

Con el fin de establecer las propiedades AutoFlush e IndentSize para Debug, se puede modificar el archivo de configuración que corresponde al nombre de la aplicación. El archivo de configuración debería tener el formato que se muestra en el siguiente ejemplo:

 <configuration>
     <system.diagnostics>
        <trace autoflush="true" indentsize="7" />
     </system.diagnostics>
  </configuration>

El atributo ConditionalAttribute se aplica a los métodos de Debug. Los compiladores que admiten ConditionalAttribute omiten las llamadas a estos métodos a menos que se defina "DEBUG" como símbolo de compilación condicional. Consulte la documentación de un compilador para determinar si se admite ConditionalAttribute y la sintaxis para definir un símbolo de compilación condicional.

Para definir el símbolo de compilación condicional "DEBUG" en C# y J#, agregue la opción /d:DEBUG a la línea de comandos del compilador cuando compile su código, o bien agregue #define DEBUG a la parte superior del archivo. En Visual Basic, agregue la opción /d:DEBUG=True a la línea de comandos del compilador o agregue #Const DEBUG=True al archivo.

El compilador de C++ no admite ConditionalAttribute. Para proporcionar una funcionalidad equivalente, debe incluir las llamadas a los métodos de Debug en un bloque #if defined(DEBUG) ... #endif y agregar la opción /DDEBUG a la línea de comandos del compilador o agregar #define DEBUG al archivo.

De forma predeterminada, en los proyectos de Visual Studio 2005 se define el símbolo de compilación condicional "DEBUG" para las versiones de depuración y el símbolo "TRACE" para las versiones de depuración y de lanzamiento. Para obtener información acerca de cómo deshabilitar este comportamiento, consulte la documentación de Visual Studio 2005.

En el siguiente ejemplo se utiliza Debug para indicar el comienzo y el fin de la ejecución de un programa. También se utilizan los métodos Indent y Unindent para distinguir los resultados del seguimiento.

// Specify /DDEBUG when compiling.

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

int main( void )
{
   #if defined(DEBUG)
   Debug::Listeners->Add( gcnew TextWriterTraceListener( Console::Out ) );
   Debug::AutoFlush = true;
   Debug::Indent();
   Debug::WriteLine( "Entering Main" );
   #endif
   Console::WriteLine( "Hello World." );
   #if defined(DEBUG)
   Debug::WriteLine( "Exiting Main" );
   Debug::Unindent();
   #endif
   return 0;
}


System::Object
  System.Diagnostics::Debug

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

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile para Smartphone, Windows Mobile para Pocket PC, Xbox 360

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

.NET Framework

Compatible con: 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Compatible con: 3.5, 2.0, 1.0

XNA Framework

Compatible con: 2.0, 1.0

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft