Entwurfszeit, Laufzeit und Haltemodus

Wenn Sie eine Anwendung überprüfen und die Fehler beseitigen möchten, müssen Sie jederzeit wissen, in welchem Modus des Programms Sie sich befinden. Sie verwenden Visual Basic zur Entwurfszeit (im Entwurfsmodus), um eine Anwendung zu erstellen, und zur Laufzeit (im Laufzeitmodus), um sie auszuführen. Dieses Kapitel führt den Haltemodus ein, bei dem die Ausführung des Programms unterbrochen ist, damit Sie Daten untersuchen und verändern können.

Im Haltemodus wird die Ausführung einer Anwendung unterbrochen und eine Momentaufnahme des Programm­zustands zu einem bestimmten Zeitpunkt angezeigt. Variablen- und Eigenschaftseinstellungen bleiben erhalten, so dass Sie den aktuellen Zustand der Anwendung analysieren können. Sie können auch Änderungen vornehmen, die sich auf den Ablauf der Anwendung auswirken. Wenn sich eine Anwendung im Haltemodus befindet, können Sie folgende Maßnahmen ergreifen:

Bestimmen des aktuellen Modus

In der Titelleiste von Visual Basic wird der aktuelle Modus immer angegeben. In Abb. 61 sind die Titelleisten zur Entwurfszeit, zur Laufzeit und für den Haltemodus dargestellt.

 

 

Abbildung 61:   Angabe des aktuellen Modus in der Titelleiste von Visual Basic

Wechseln des Modus mit Hilfe der Symbolleiste

In der Symbolleiste sind drei Schaltflächen verfügbar, mit denen Sie schnell von einem Modus in den anderen wechseln können.

 Abbildung 62:   
Schaltflächen "Starten", "Unterbrechen" und "Beenden" in der Symbolleiste

Ob diese Schaltflächen verfügbar sind, hängt vom Modus (Laufzeit, Entwurfszeit oder Haltemodus) ab, in dem sich Visual Basic befindet. In der folgenden Tabelle wird aufgeführt, welche Schaltflächen in den verschiedenen Modi verfügbar sind.

Modus

Verfügbare Symbolleistenschaltflächen

Entwurfszeit

Starten

Laufzeit

Unterbrechen, Beenden

Haltemodus

Fortsetzen, Beenden (im Haltemodus wird die Schaltfläche Starten zur Schaltfläche Fortsetzen)

Verwenden der Testfenster

Manchmal können Sie die Ursache eines Problems herausfinden, indem Sie einen Teil des Codes ausführen. In der Regel müssen Sie jedoch analysieren, was mit den Daten passiert. Sie könnten ein Problem an einem falschen Wert in einer Variablen oder Eigenschaft erkennen und müssten anschließend herausfinden, wie und warum dieser Variablen oder Eigenschaft ein falscher Wert zugewiesen wurde.

Mit Hilfe der Testfenster können Sie die Werte von Ausdrücken und Variablen überwachen, während Sie die Anweisungen in Ihrer Anwendung schrittweise ausführen. Es stehen drei Testfenster zur Verfügung: das Direktfenster, das Überwachungsfenster und das Lokal-Fenster.

·     Im Direktfenster werden Informationen angezeigt, die das Ergebnis von Test­anweisungen in Ihrem Code sind oder durch direkte Eingaben im Fenster von Ihnen abgefragt werden.

 Abbildung 63:   Das Direktfenster

Weitere Informationen   Weitere Informationen zum Direktfenster finden Sie unter "Testen von Daten und Prozeduren im Direktfenster".

·     Im Überwachungsfenster werden die aktuellen Überwachungsausdrücke angezeigt. Dies sind von Ihnen definierte Ausdrücke, deren Werte Sie während der Aus­führung des Codes überwachen können. Ein Halteausdruck ist ein Überwachungs­ausdruck, der Visual Basic veranlasst, in den Haltemodus zu wechseln, wenn eine bestimmte von Ihnen definierte Bedingung wahr wird. Im Überwachungsfenster werden in der Kontextspalte die Prozedur und die Module angegeben, in der/denen jeder einzelne Überwachungsausdruck ausgewertet wird. Im Überwachungsfenster kann nur dann ein Wert für einen Überwachungsausdruck angezeigt werden, wenn sich der aktuelle Ausdruck im angegebenen Kontext befindet. Klicken Sie zum Anzeigen des Überwachungsfensters im Menü Ansicht auf Überwachungsfenster.

 Abbildung 64:   Das Überwachungsfenster

Weitere Informationen   Weitere Informationen zum Überwachungsfenster finden Sie unter "Überwachen von Daten mit Überwachungsausdrücken ".

·     Im Lokal-Fenster werden die Werte aller Variablen angezeigt, die sich innerhalb des Gültigkeitsbereichs der aktuellen Prozedur befinden. Wenn bei der Ausführung des Codes von einer Prozedur zur anderen gewechselt wird, ändert sich der Inhalt des Lokal-Fensters jeweils je nach den Variablen, die für die aktuelle Prozedur relevant sind. Klicken Sie zum Anzeigen des Lokal-Fensters im Menü Ansicht auf Lokal-Fenster. In Abbildung 65 ist das Lokal-Fenster dargestellt.

Abbildung 65:   Das Lokal-Fenster

Es hängt von der aktuellen Prozedur und dem aktuellen Formular (oder Modul) ab, welche Variablen angezeigt werden können. Dabei spielt der Gültigkeitsbereich der Variablen eine Rolle. Weitere Informationen hierzu finden Sie unter "Gültigkeitsbereich von Variablen " im Kapitel "Grundlagen des Programmierens".

Verwenden des Haltemodus

Wenn sich eine Anwendung im Haltemodus befindet, können Sie folgende Maßnahmen ergreifen:

·     Ändern von Code in der Anwendung.

·     Beobachten, in welchem Zustand sich die Benutzeroberfläche der Anwendung befindet.

·     Bestimmen, welche aktiven Prozeduren aufgerufen wurden.

·     Überwachen der Werte von Variablen, Eigenschaften und Anweisungen.

·     Ändern der Werte von Variablen und Eigenschaften.

·     Ansehen oder steuern, welche Anweisung die Anwendung als nächstes ausführt.

·     Unmittelbares Ausführen von Visual Basic-Anweisungen.

·     Manuelles Steuern der Ausführung der Anwendung.

Wechseln in den Haltemodus im Falle einer "verdächtigen" Anweisung

Bei der Fehlerbeseitigung ist es sinnvoll, die Anwendung an der Stelle im Code anzuhalten, an der wahrscheinlich die Ursache für das Problem liegt. Aus diesem Grund stehen in Visual Basic Haltepunkte und Stop-Anweisungen zur Verfügung. Ein Haltepunkt definiert eine Anweisung oder eine Folge von Bedingungen. Wenn die Anweisung erreicht wird oder die Bedingungen erfüllt werden, hält Visual Basic die Ausführung automatisch an und versetzt die Anwendung in den Haltemodus, ohne die Anweisung auszuführen, die den Haltepunkt enthält

Sie können manuell in den Haltemodus wechseln, wenn Sie während der Ausführung der Anwendung eine der folgenden Operationen durchführen:

·     Drücken Sie STRG+PAUSE.

·     Klicken Sie im Menü Ausführen auf Unterbrechen.

·     Klicken Sie in der Symbolleiste auf die Schaltfläche Unterbrechen.

Sie können auch automatisch in den Haltemodus wechseln, wenn eine der folgenden Situationen eintritt:

·     Eine Anweisung löst einen Laufzeitfehler aus.

·     Ein Unterbrechungsausdruck, der im Dialogfeld Überwachung hinzufügen definiert wurde, verändert sich oder wird wahr. Dies hängt davon ab, wie Sie ihn definiert haben.

·     Bei der Ausführung wird eine Zeile mit einem Haltepunkt erreicht.

·     Bei der Ausführung wird eine Stop-Anweisung erreicht.

Beheben eines Laufzeitfehlers und Fortsetzen der Programmausführung

Einige Laufzeitfehler kommen schlichtweg durch ein Versehen bei der Code-Eingabe zustande und können einfach behoben werden. Zu den häufig vorkommenden Fehlern gehört es, dass Namen falsch geschrieben werden und Eigenschaften oder Methoden verwendet werden, die nicht für die angegebenen Objekte gültig sind, z.B. die Clear-Methode für ein Textfeld oder die Text-Eigenschaft für ein Dateilistenfeld. Abbildung 66 enthält eine Laufzeitfehlermeldung.

Abbildung 66:   Durch Laufzeitfehler wird die Ausführung des Codes unterbrochen

Oft können Sie eine Korrektur eingeben und die Ausführung des Programms in der Zeile fortsetzen, in der die Anwendung unterbrochen wurde, auch wenn Teile des Codes geändert wurden. Klicken Sie dazu einfach im Menü Ausführen auf den Befehl Fortsetzen, oder klicken Sie in der Symbolleiste auf die Schaltfläche Fortsetzen. Wenn Sie mit der Ausführung der Anwendung fortfahren, können Sie überprüfen, ob das Problem behoben ist.

Manche Änderungen (wie das Verändern von Variablendeklarationen oder das Hinzufügen neuer Variablen oder Prozeduren) erfordern einen Neustart der Anwendung. In solchen Fällen werden Sie von Visual Basic in einer Meldung gefragt, ob Sie die Anwendung neu starten möchten.