Debug 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 ajudam a depurar o 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
Exemplos
O exemplo seguinte serve Debug para indicar o início e o fim da execução de um programa. O exemplo também utiliza Indent e Unindent para distinguir a saída de traço.
// 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
Observações
Para tornar o seu código mais robusto sem afetar o desempenho e o tamanho do código do produto de entrega, use métodos na Debug classe para imprimir informação de depuração e verificar a sua lógica com asserções.
Esta classe fornece métodos para mostrar uma Assert caixa de diálogo e emitir uma asserção que falhará sempre. 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. Para 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 nas aplicações .NET Framework, consulte a classe Switch e o artigo 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 DefaultTraceListener classe emite saída de traço.
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 artigo. Pode ser útil fazer chamadas aos Debug métodos em try/catch blocos para detetar e tratar quaisquer exceções dos ouvintes de traços.
Pode modificar o nível de indentação usando o Indent método ou a IndentLevel propriedade. Para modificar o espaçamento do reentro, use a IndentSize propriedade. Pode especificar se deve esvaziar automaticamente o buffer de saída após cada escrita, definindo a AutoFlush propriedade para true.
Para .NET aplicações Framework, podes definir o AutoFlush e IndentSize para Debug editando o ficheiro de configuração da tua aplicação. O ficheiro de configuração deve ser formatado conforme mostrado no exemplo seguinte.
<configuration>
<system.diagnostics>
<trace autoflush="true" indentsize="7" />
</system.diagnostics>
</configuration>
O ConditionalAttribute atributo aplica-se aos métodos de Debug. Compiladores que suportam ConditionalAttribute ignorar chamadas a estes métodos, a menos que DEBUG 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 projetos Visual Studio C# e Visual Basic, 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 releases. Para informações sobre depuração condicional em Visual C++, veja Classe Debug (C++/CLI).
Para definir o DEBUG símbolo de compilação condicional em C#, adicione a /d:DEBUG opção à linha de comandos do compilador quando compilar o seu código usando uma linha de comandos, ou adicione #define DEBUG no topo do seu ficheiro. Em Visual Basic, adicione a opção /d:DEBUG=True à linha de comandos do compilador ou adicione #Const DEBUG=True ao ficheiro.
Propriedades
| Name | Description |
|---|---|
| AutoFlush |
Recebe ou define um valor que indica se Flush() deve ser chamado após Listeners cada escrita. |
| 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 monitoriza a saída de depuração. |
Métodos
| Name | Description |
|---|---|
| Assert(Boolean, String, String, Object[]) |
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) |
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 chama o |
| 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 em buffer escrevam na Listeners coleção. |
| Indent() |
Aumenta a corrente IndentLevel em um. |
| Print(String, Object[]) |
Escreve uma cadeia formatada seguida de um terminador de linha para os ouvintes de rastreio na Listeners coleção. |
| Print(String) |
Escreve uma mensagem seguida de um terminador de linha para os ouvintes de traços na Listeners coleção. |
| 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 rastreamento 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, Object[]) |
Escreve uma mensagem formatada seguida de um terminador de linha para os ouvintes de rastreio 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 seguida de um terminador de linha para os ouvintes de traços 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.