Freigeben über


Betriebsmodi

Es gibt drei Modi, in denen die IDE wie folgt ausgeführt werden kann:

  • Entwurfsmodus

  • Ausführungsmodus

  • Unterbrechungsmodus

    Wie Ihr benutzerdefiniertes Debugmodul (DE) zwischen diesen Modi wechselt, ist eine Implementierungsentscheidung, die erfordert, dass Sie mit den Übergangsmechanismen vertraut sind. Die DE kann diese Modi möglicherweise oder nicht direkt implementieren. Diese Modi sind tatsächlich Debug-Paket-Modi, die basierend auf Benutzeraktionen oder Ereignissen aus der Entwicklungsumgebung wechseln. Beispielsweise wird der Übergang vom Ausführungsmodus zum Unterbrechungsmodus durch ein Stoppereignis aus der DE ausgelöst. Der Übergang vom Unterbrechungsmodus zu entweder Ausführungsmodus oder Schrittmodus wird durch den Benutzer eingeleitet, indem er Operationen wie "Schritt" oder "Ausführen" durchführt. Weitere Informationen über DE-Übergänge finden Sie unter Steuerung der Ausführung.

Entwurfsmodus

Der Entwurfsmodus ist der nicht ausgeführte Zustand des Visual Studio-Debuggings, in dem Sie Debugfeatures in Ihrer Anwendung festlegen können.

Im Entwurfsmodus werden nur einige Debugfeatures verwendet. Ein Entwickler kann Haltepunkte setzen oder Überwachungsausdrücke erstellen. Die DE wird nie geladen oder aufgerufen, während sich die IDE im Entwurfsmodus befindet. Die Interaktion mit der DE erfolgt nur während der Ausführungs- und Unterbrechungsmodi.

Ausführungsmodus

Der Ausführungsmodus tritt auf, wenn ein Programm in einer Debugsitzung in der IDE ausgeführt wird. Die Anwendung läuft bis zur Beendigung, bis ein Haltepunkt erreicht wird, oder bis eine Ausnahme ausgelöst wird. Wenn die Anwendung beendet wird, wechselt die DE in den Entwurfsmodus. Wenn ein Haltepunkt erreicht wird oder eine Ausnahme ausgelöst wird, wechselt die DE in den Unterbrechungsmodus.

Unterbrechungsmodus

Unterbrechungsmodus tritt auf, wenn die Ausführung des Debuggingprogramms angehalten wird. Der Unterbrechungsmodus bietet dem Entwickler eine Momentaufnahme der Anwendung zum Zeitpunkt der Unterbrechung und ermöglicht es dem Entwickler, den Zustand der Anwendung zu analysieren und zu ändern, wie die Anwendung ausgeführt wird. Der Entwickler kann Code anzeigen und bearbeiten, Daten untersuchen oder ändern, die Anwendung neu starten, die Ausführung beenden oder die Ausführung ab demselben Zeitpunkt fortsetzen.

Der Unterbrechungsmodus wird eingegeben, wenn die DE ein synchrones Stoppereignis sendet. Synchrones Beenden von Ereignissen, auch als Stoppereignisse bezeichnet, benachrichtigen den Sitzungsdebug-Manager (SDM) und die IDE, dass die zu debuggende Anwendung den Ausführungscode beendet hat. Die IDebugBreakpointEvent2 - und IDebugExceptionEvent2-Schnittstellen sind Beispiele für das Beenden von Ereignissen.

Das Beenden von Ereignissen wird durch einen Aufruf einer der folgenden Methoden fortgesetzt, die den Debugger vom Unterbrechungsmodus in den Ausführungs- oder Schrittmodus übertragen:

Schrittmodus

Im Schrittmodus wird Zeile für Zeile durch den Code gegangen, oder es wird in eine Funktion hinein-, über sie hinweg- oder aus ihr herausgetreten. Ein Schritt wird durch Aufrufen der Methode Step ausgeführt. Diese Methode verlangt, dass DWORD die Enumerationen STEPUNIT und STEPKIND als Parameter für Eingaben angegeben werden.

Wenn das Programm erfolgreich zur nächsten Codezeile oder zu einer Funktion wechselt, oder es bis zum Cursor oder zu einem festgelegten Haltepunkt läuft, wechselt die DE automatisch wieder in den Unterbrechungsmodus.

Siehe auch