C#:
Debug-Ausgaben drucken

How to:

Einfache Ausgabe auf der Konsole mit Console.WriteLine:

Console.WriteLine("Debug-Info: Variable x hat den Wert " + x);

Output:

Debug-Info: Variable x hat den Wert 42

Mit System.Diagnostics.Debug in einer Debug-Build:

Debug.WriteLine("Hier steht etwas Wichtiges.");

Sichtbar im Output-Fenster deiner Entwicklungsumgebung, aber nicht in der finalen Anwendung.

Deep Dive

Die Verwendung von Console.WriteLine reicht für viele Debug-Zwecke aus, kommt aber ursprünglich aus der Welt der Konsolenanwendungen. Bei GUI-Anwendungen oder Diensten ist dies möglicherweise nicht ideal. System.Diagnostics.Debug dagegen schreibt Nachrichten in das Output-Fenster deiner Entwicklungsumgebung, so z.B. Visual Studio.

Eine Alternative bietet Trace, ähnlich zu Debug, erlaubt aber weitere Flexibilität durch Listener, die Nachrichten in verschiedenen Ausgaben darstellen können.

Beim Einsatz von Logging-Frameworks wie log4net oder NLog können programmatisch viel mehr Informationen, wie Zeitstempel oder Dateinamen, ohne zusätzlichen Codeaufwand geschrieben werden.

Schließlich gibt es noch die bedingte Kompilierung, wodurch Code nur in Debug-Builds ausgeführt wird:

#if DEBUG
Console.WriteLine("Diese Zeile erscheint nur im Debug-Modus");
#endif

See Also