Debug Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Biedt een set methoden en eigenschappen waarmee u fouten in uw code kunt opsporen.
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
- Overname
-
Debug
Voorbeelden
In het volgende voorbeeld wordt het Debug begin en einde van de uitvoering van een programma aangegeven. In het voorbeeld wordt ook de traceringsuitvoer gebruikt Indent en Unindent onderscheiden.
// 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
Opmerkingen
Als u uw code robuuster wilt maken zonder dat dit van invloed is op de prestaties en codegrootte van uw verzendproduct, gebruikt u methoden in de Debug klasse om foutopsporingsgegevens af te drukken en uw logica te controleren met asserties.
Deze klasse biedt methoden voor het weergeven van een Assert dialoogvenster en het verzenden van een verklaring die altijd mislukt. Deze klasse biedt schrijfmethoden in de volgende variaties:
De BooleanSwitch en TraceSwitch klassen bieden middelen om de traceringsuitvoer dynamisch te beheren. Voor .NET Framework-apps kunt u de waarden van deze switches wijzigen zonder de toepassing opnieuw te compileren. Zie het artikel Switch en het artikel voor informatie over het gebruik van het configuratiebestand voor het instellen van een schakeloptie in .NET Framework-apps.
U kunt het doel van de traceringsuitvoer aanpassen door exemplaren toe te voegen TraceListener aan of te verwijderen uit de Listeners verzameling. De Listeners verzameling wordt gedeeld door zowel de Debug klassen als de Trace klassen. Als u een traceringslistener aan beide klassen toevoegt, wordt de listener aan beide toegevoegd. Standaard verzendt de DefaultTraceListener klasse traceringsuitvoer.
Note
Het toevoegen van een traceerlistener aan de Listeners verzameling kan ertoe leiden dat er een uitzondering wordt gegenereerd tijdens het traceren, als een resource die door de traceerlister wordt gebruikt, niet beschikbaar is. De voorwaarden en de uitzondering die is gegenereerd, zijn afhankelijk van de traceringslistener en kunnen niet worden opgesomd in dit artikel. Het kan handig zijn om aanroepen naar de Debug methoden in try/catch blokken te plaatsen om eventuele uitzonderingen van traceerlisteners te detecteren en te verwerken.
U kunt het inspringingsniveau wijzigen met behulp van de Indent methode of de IndentLevel eigenschap. Als u de afstand tussen inspringingen wilt wijzigen, gebruikt u de IndentSize eigenschap. U kunt opgeven of de uitvoerbuffer na elke schrijfbewerking automatisch moet worden leeggemaakt door de AutoFlush eigenschap in te stellen op true.
Voor .NET Framework-apps kunt u de AutoFlush en IndentSize voor Debug instellen door het configuratiebestand van uw app te bewerken. Het configuratiebestand moet worden opgemaakt zoals wordt weergegeven in het volgende voorbeeld.
<configuration>
<system.diagnostics>
<trace autoflush="true" indentsize="7" />
</system.diagnostics>
</configuration>
Het ConditionalAttribute kenmerk wordt toegepast op de methoden van Debug. Compilers die ondersteuning bieden ConditionalAttribute voor het negeren van aanroepen naar deze methoden, tenzij DEBUG deze zijn gedefinieerd als een symbool voor voorwaardelijke compilatie. Raadpleeg de documentatie van een compiler om te bepalen of ConditionalAttribute deze wordt ondersteund en de syntaxis voor het definiëren van een symbool voor voorwaardelijke compilatie.
Note
In Visual Studio C# en Visual Basic projecten wordt standaard het symbool voor DEBUG voorwaardelijke compilatie gedefinieerd voor foutopsporingsversies en wordt het symbool TRACE gedefinieerd voor zowel foutopsporing als release-builds. Zie de foutopsporingsklasse (C++/CLI) voor informatie over voorwaardelijke foutopsporing in Visual C++.
Als u het DEBUG symbool voor voorwaardelijke compilatie in C# wilt definiëren, voegt u de /d:DEBUG optie toe aan de opdrachtregel van de compiler wanneer u uw code compileert met behulp van een opdrachtregel of voegt u deze toe #define DEBUG aan het begin van het bestand. Voeg in Visual Basic de optie /d:DEBUG=True toe aan de opdrachtregel van de compiler of voeg #Const DEBUG=True toe aan het bestand.
Eigenschappen
| Name | Description |
|---|---|
| AutoFlush |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of Flush() na elke schrijfbewerking moet worden aangeroepen Listeners . |
| IndentLevel |
Hiermee haalt u het inspringniveau op of stelt u het inspringniveau in. |
| IndentSize |
Hiermee kunt u het aantal spaties in een inspringing ophalen of instellen. |
| Listeners |
Hiermee haalt u de verzameling listeners op die de foutopsporingsuitvoer bewaakt. |
Methoden
| Name | Description |
|---|---|
| Assert(Boolean, String, String, Object[]) |
Controleert op een voorwaarde; als de voorwaarde is |
| Assert(Boolean, String, String) |
Controleert op een voorwaarde; als de voorwaarde is |
| Assert(Boolean, String) |
Controleert op een voorwaarde; als de voorwaarde is |
| Assert(Boolean) |
Controleert op een voorwaarde; als de voorwaarde is |
| Close() |
De uitvoerbuffer leegmaken en vervolgens de |
| Fail(String, String) |
Verzendt een foutbericht en een gedetailleerd foutbericht. |
| Fail(String) |
Hiermee wordt het opgegeven foutbericht verzonden. |
| Flush() |
Hiermee wordt de uitvoerbuffer leeggemaakt en worden gebufferde gegevens naar de Listeners verzameling geschreven. |
| Indent() |
Hiermee wordt de huidige met IndentLevel één verhoogd. |
| Print(String, Object[]) |
Hiermee schrijft u een opgemaakte tekenreeks, gevolgd door een regeleindteken voor de traceringslisteners in de Listeners verzameling. |
| Print(String) |
Hiermee schrijft u een bericht gevolgd door een regeleindteken naar de traceringslisteners in de Listeners verzameling. |
| Unindent() |
Hiermee wordt de huidige met IndentLevel één verkleind. |
| Write(Object, String) |
Hiermee schrijft u een categorienaam en de waarde van de methode van het object ToString() naar de traceerlisteners in de Listeners verzameling. |
| Write(Object) |
Hiermee schrijft u de waarde van de methode van het object ToString() naar de traceringslisteners in de Listeners verzameling. |
| Write(String, String) |
Hiermee schrijft u een categorienaam en -bericht naar de traceringslisteners in de Listeners verzameling. |
| Write(String) |
Hiermee schrijft u een bericht naar de traceerlisteners in de Listeners verzameling. |
| WriteIf(Boolean, Object, String) |
Schrijft een categorienaam en de waarde van de methode van het object ToString() naar de traceringslisteners in de Listeners verzameling als een voorwaarde is |
| WriteIf(Boolean, Object) |
Hiermee schrijft u de waarde van de methode van het object ToString() naar de traceringslisteners in de Listeners verzameling als een voorwaarde is |
| WriteIf(Boolean, String, String) |
Hiermee schrijft u een categorienaam en bericht naar de traceerlisteners in de Listeners verzameling als een voorwaarde is |
| WriteIf(Boolean, String) |
Schrijft een bericht naar de traceerlisteners in de Listeners verzameling als een voorwaarde is |
| WriteLine(Object, String) |
Hiermee schrijft u een categorienaam en de waarde van de methode van het object ToString() naar de traceerlisteners in de Listeners verzameling. |
| WriteLine(Object) |
Hiermee schrijft u de waarde van de methode van het object ToString() naar de traceringslisteners in de Listeners verzameling. |
| WriteLine(String, Object[]) |
Hiermee schrijft u een opgemaakt bericht, gevolgd door een regeleindteken voor de traceringslisteners in de Listeners verzameling. |
| WriteLine(String, String) |
Hiermee schrijft u een categorienaam en -bericht naar de traceringslisteners in de Listeners verzameling. |
| WriteLine(String) |
Hiermee schrijft u een bericht gevolgd door een regeleindteken naar de traceringslisteners in de Listeners verzameling. |
| WriteLineIf(Boolean, Object, String) |
Schrijft een categorienaam en de waarde van de methode van het object ToString() naar de traceringslisteners in de Listeners verzameling als een voorwaarde is |
| WriteLineIf(Boolean, Object) |
Hiermee schrijft u de waarde van de methode van het object ToString() naar de traceringslisteners in de Listeners verzameling als een voorwaarde is |
| WriteLineIf(Boolean, String, String) |
Hiermee schrijft u een categorienaam en bericht naar de traceerlisteners in de Listeners verzameling als een voorwaarde is |
| WriteLineIf(Boolean, String) |
Schrijft een bericht naar de traceerlisteners in de Listeners verzameling als een voorwaarde is |
Van toepassing op
Veiligheid thread
Dit type is thread veilig.