Debug Classe
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 depurar seu código.
public ref class Debug abstract sealed
public ref class Debug sealed
public static class Debug
public sealed class Debug
type Debug = class
Public Class Debug
Public NotInheritable Class Debug
- Herança
-
Debug
O exemplo a seguir usa Debug para indicar o início e o fim da execução de um programa. O exemplo também usa Indent e Unindent para distinguir a saída de rastreamento.
// 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;
}
// Specify /d:DEBUG when compiling.
using System;
using System.Data;
using System.Diagnostics;
class Test
{
static void Main()
{
Debug.Listeners.Add(new TextWriterTraceListener(Console.Out));
Debug.AutoFlush = true;
Debug.Indent();
Debug.WriteLine("Entering Main");
Console.WriteLine("Hello World.");
Debug.WriteLine("Exiting Main");
Debug.Unindent();
}
}
' Specify /d:DEBUG=True when compiling.
Imports System.Data
Imports System.Diagnostics
Class Test
Shared Sub Main()
Debug.Listeners.Add(New TextWriterTraceListener(Console.Out))
Debug.AutoFlush = True
Debug.Indent()
Debug.WriteLine("Entering Main")
Console.WriteLine("Hello World.")
Debug.WriteLine("Exiting Main")
Debug.Unindent()
End Sub
End Class
Para tornar seu código mais robusto sem afetar o desempenho e o tamanho do código do produto de envio, use métodos na Debug classe para imprimir informações de depuração e marcar sua lógica com declarações.
Essa classe fornece métodos para exibir uma Assert caixa de diálogo e emitir uma declaração que sempre falhará. Essa classe fornece métodos de gravação nas seguintes variações:
As BooleanSwitch classes e TraceSwitch fornecem meios para controlar dinamicamente a saída de rastreamento. Para aplicativos .NET Framework, você pode modificar os valores desses comutadores sem recompilar seu aplicativo. Para obter informações sobre como usar o arquivo de configuração para definir uma opção em aplicativos .NET Framework, consulte a Switch classe e o artigo Opções de Rastreamento.
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 , a adição de um ouvinte de rastreamento a qualquer classe adiciona o ouvinte a ambos. Por padrão, a classe emite a DefaultTraceListener saída de rastreamento.
Nota
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 geradas dependem do ouvinte de rastreamento e não podem ser enumeradas neste artigo. Pode ser útil fazer chamadas aos Debug métodos em try
/catch
blocos para detectar e manipular quaisquer exceções de ouvintes de rastreamento.
Você pode modificar o nível de recuo usando o Indent método ou a IndentLevel propriedade . Para modificar o espaçamento de recuo, use a IndentSize propriedade . Você pode especificar se deseja liberar automaticamente o buffer de saída após cada gravação definindo a AutoFlush propriedade como true
.
Para .NET Framework aplicativos, você pode definir o e IndentSize para Debug editando o AutoFlush arquivo de configuração do aplicativo. O arquivo de configuração deve ser formatado conforme mostrado no exemplo a seguir.
<configuration>
<system.diagnostics>
<trace autoflush="true" indentsize="7" />
</system.diagnostics>
</configuration>
O ConditionalAttribute atributo é aplicado aos métodos de Debug. Os compiladores que dão suporte ConditionalAttribute a ignorar chamadas a esses métodos DEBUG
, 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.
Nota
Em projetos do Visual Studio C# e do Visual Basic, por padrão, o DEBUG
símbolo de compilação condicional é definido para builds de depuração e o TRACE
símbolo é definido para compilações de depuração e lançamento. Para obter informações sobre a depuração condicional no Visual C++, consulte Classe de depuração (C++/CLI).
Para definir o DEBUG
símbolo de compilação condicional em C#, adicione a opção /d:DEBUG
à linha de comando do compilador ao compilar seu código usando uma linha de comando ou adicione #define DEBUG
à parte superior do arquivo. No Visual Basic, adicione a opção /d:DEBUG=True
à linha de comando do compilador ou adicione #Const DEBUG=True
ao arquivo.
Auto |
Obtém ou define um valor que indica se Flush() deve ser chamado no Listeners após cada gravação. |
Indent |
Obtém ou define o nível de recuo. |
Indent |
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 depuração. |
Assert(Boolean) |
Verifica uma condição; se a condição for |
Assert(Boolean, Debug+Assert |
Verifica uma condição, se a condição for |
Assert(Boolean, Debug+Assert |
Verifica uma condição, se a condição for |
Assert(Boolean, String) |
Verifica uma condição, se a condição for |
Assert(Boolean, String, String) |
Verifica uma condição. Se a condição for |
Assert(Boolean, String, String, Object[]) |
Verifica uma condição, se a condição for |
Close() |
Libera o buffer de saída e, em seguida, chama o método |
Fail(String) |
Emite a mensagem de erro especificada. |
Fail(String, String) |
Emite uma mensagem de erro e uma mensagem de erro detalhada. |
Flush() |
Libera o buffer de saída e faz com que os dados armazenados em buffer sejam gravados na coleção de Listeners. |
Indent() |
Aumenta o IndentLevel atual em um. |
Print(String) |
Grava uma mensagem seguida de um terminador de linha para os ouvintes de rastreamento na coleção Listeners. |
Print(String, Object[]) |
Grava uma cadeia de caracteres formatada seguida de um terminador de linha para os ouvintes de rastreamento na coleção Listeners. |
Unindent() |
Diminui o IndentLevel atual em um. |
Write(Object) |
Grava o valor do método ToString() do objeto nos ouvintes de rastreamento da coleção Listeners. |
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. |
Write(String) |
Grava uma mensagem para os ouvintes de rastreamento na coleção Listeners. |
Write(String, String) |
Grava um nome de categoria e mensagem nos ouvintes de rastreamento da coleção Listeners. |
Write |
Se |
Write |
Grava um nome de categoria e uma mensagem para os ouvintes de rastreamento na Listeners coleção se uma condição especificada for |
Write |
Grava o valor do método ToString() do objeto nos ouvintes de rastreamento da coleção Listeners se uma condição for |
Write |
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 |
Write |
Grava uma mensagem para os ouvintes de rastreamento na coleção Listeners se uma condição for |
Write |
Grava um nome e a mensagem da categoria nos ouvintes de rastreamento da coleção Listeners se uma condição for |
Write |
Grava o valor do método ToString() do objeto nos ouvintes de rastreamento da coleção Listeners. |
Write |
Grava um nome de categoria e o valor do método ToString() do objeto nos ouvintes de rastreamento da coleção Listeners. |
Write |
Grava uma mensagem seguida de um terminador de linha para os ouvintes de rastreamento na coleção Listeners. |
Write |
Grava uma mensagem formatada seguida de um terminador de linha para os ouvintes de rastreamento na coleção Listeners. |
Write |
Grava um nome de categoria e mensagem nos ouvintes de rastreamento da coleção Listeners. |
Write |
Grava uma mensagem nos ouvintes de rastreamento na Listeners coleção se uma condição especificada for |
Write |
Grava um nome de categoria e uma mensagem para os ouvintes de rastreamento na Listeners coleção se uma condição especificada for |
Write |
Grava o valor do método ToString() do objeto nos ouvintes de rastreamento da coleção Listeners se uma condição for |
Write |
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 |
Write |
Grava uma mensagem para os ouvintes de rastreamento na coleção Listeners se uma condição for |
Write |
Grava um nome e a mensagem da categoria nos ouvintes de rastreamento da coleção Listeners se uma condição for |
Produto | Versões |
---|---|
.NET | Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1 |
UWP | 10.0 |
Este tipo é thread-safe.
Comentários do .NET
O .NET é um projeto código aberto. Selecione um link para fornecer comentários: