TOC

This article has been localized into German by the community.

Debugging:

Fortgeschrittene Haltepunkte

In einem vorherigen Kapitel haben wir den ersten Haltepunkt gesetzt und es dabei belassen. Allerdings steckt noch mehr hinter Haltepunkten, zumindest wenn man Visual Studio benutzt. Leider hat Microsoft diese extra Debugging-Eigenschaften in manchen ihrer Express Versionen deaktiviert, aber keine Sorge: Sie sind zwar auf jeden Fall vorteilhaft, allerdings kommt man auch ohne sie zurecht. Für diejenigen mit Zugang zu Visual Studio ist hier die interessanteste Eigenschaft in Bezug auf Haltepunkte. Diese kann man aufrufen, indem man einen Haltpunkt setzt, ihn mit der rechten Maustaste anklickt und dann die gewünschte Funktion auswählt.

Bedingung

Mit dieser Option können Sie eine Bedingung angeben, die erfüllt (wahr oder bei einem bestimmten Wert liegend) sein muss, damit ein Unterbrechungspunkt (Breakpoint) erreicht wird. Dies kann sehr nützlich sein, wenn Sie mit komplizierterem Code arbeiten, bei dem die Ausführung nur unter bestimmten Umständen angehalten werden soll. Zum Beispiel könnten Sie eine Schleife haben, die eine gewisse Zeit wiederholt werden soll, bevor das Programm weiterläuft. In einer solchen Situation könnten Sie einfach einen Unterbrechungspunkt platzieren und dann eine entsprechende Bedingung zur Ausführung des Stopps konfigurieren. Hier ist ein sehr einfaches Beispiel, welches Ihnen die Funktionsweise verdeutlichen wird:

static void Main(string[] args)
{
    for(int i = 0; i < 10; i++)
        Console.WriteLine("i is " + i);
}

Legen Sie einen Unterbrechungspunkt in der Zeile fest, in der die Ausgabe an die Konsole erfolgt. Führen Sie nun die Anwendung aus - die Unterbrechung der Schleife wird jedes Mal ausgelöst, wenn sie sich wiederholt. Aber vielleicht ist dies gar nciht gewollt. Vielleicht wollen Sie nur, dass die Schleife stoppt, wenn i gleich 4 ist (die 5. Wiederholung). Probieren Sie dies indem Sie eine einfache Bedingung wie diese definieren:

i == 4

Im Unterbrechungspunkt wird nun ein kleines, weißes Plus auftauchen, wenn Sie das Programm ausführen und die Schleife wird erst stoppen, wenn die Variable i den Wert 4 erhält. Sie können ebenfalls die Option "hat sich verändert" verwenden, um dem Debugger anzuweisen, die Ausführung der Schleife nur dann zu stoppen, wenn sich das Ergebnis der obigen Bedingung verändert hat, zum Beispiel von 'false' zu 'true'.

Ausführungsanzahl

Mit dieser Anzeige können Sie eine alternative Bedingung definieren, welche auf der Anzahl an Aufrufen basiert, welche der Unterbrechungspunkt bisher zu verzeichnen hatte. So können Sie zum Beispiel entscheiden, dass der Unterbrechungspunkt die Schleife erst unterbricht, wenn dieser eine gewisse Anzahl von Aufrufen erlebt hat. Diese Anzeige bietet verschiedene Optionen um diese Informationen für Ihre Zwecke einzusetzen, so können Sie zum Beispiel im Debug-Modus diese Anzeige überprüfen um herauszufinden, wie häufig der Unterbrechungspunkt bisher angefragt wurde.

Wenn ausgelöst...

Mit diesem Dialog können Sie ein alternatives Verhalten definieren, für den Fall dass der Haltepunkt erreicht wird. Das kann in vielen Situationen hilfreich sein, bei denen Sie nicht möchten dass die Ausführung stoppt aber eine Meldung ausgegeben oder ein Makro ausgeführt werden soll. Es erlaubt Ihnen die Ausgabe einer benutzerdefinierten Nachricht, wo Sie alle möglichen Informationen mit einschließen können. Für fortgeschrittene Nutzer kann auch die Möglichkeit sehr hilfreich sein, ein bestimmtes Makro auszuführen, wenn der Haltepunkt erreicht wurde.


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!