Gewusst wie: Festlegen der nächsten Anweisung
Dieses Thema gilt für folgende Anwendungsbereiche:
Edition |
Visual Basic |
C# |
F# |
C++ |
Web Developer |
---|---|---|---|---|---|
Express |
|||||
Pro, Premium und Ultimate |
Diese Funktion ist für das Transact-SQL-Debuggen nicht verfügbar.
Im Visual Studio-Debugger können Sie den Ausführungspunkt verschieben, um die nächste auszuführende Codeanweisung festzulegen. Die Position der nächsten auszuführenden Anweisung wird durch eine gelbe Pfeilspitze am Rand eines Quellcodefensters oder Disassemblierungsfensters markiert. Durch das Verschieben dieser Pfeilspitze können Sie einen Teil des Codes überspringen oder zu einer bereits ausgeführten Zeile zurückkehren. Dies ist zum Beispiel sinnvoll, um einen Codeabschnitt zu überspringen, von dem bereits bekannt ist, dass er einen Fehler enthält.
Warnung
Das Festlegen der nächsten Anweisung bewirkt, dass der Programmzähler direkt zur neuen Position springt. Seien Sie daher vorsichtig, wenn Sie diesen Befehl verwenden.
Anweisungen zwischen den alten und neuen Ausführungspunkten werden nicht ausgeführt.
Wenn Sie den Ausführungspunkt rückwärts verschieben, werden dazwischenliegende Anweisungen nicht rückgängig gemacht.
Wenn Sie die nächste Anweisung in eine andere Funktion oder in einen anderen Gültigkeitsbereich verschieben, wird i. d. R. die Aufrufliste beeinträchtigt, wodurch ein Laufzeitfehler oder eine Ausnahme ausgelöst wird. Wenn Sie versuchen, die nächste Anweisung in einen anderen Gültigkeitsbereich zu verschieben, wird ein Dialogfenster mit einer Warnung geöffnet, in dem Sie den Vorgang abbrechen können. In Visual Basic können Sie die nächste Anweisung nicht in einen anderen Bereich oder in eine andere Funktion verlegen.
In systemeigenem C++ kann das Festlegen der nächsten Anweisung bei aktivierter Laufzeitprüfung dazu führen, dass am Ende der Methode eine Ausnahme ausgelöst wird.
Wenn Bearbeiten und Fortfahren aktiviert ist, schlägt Nächste Anweisung festlegen fehl, wenn Sie Änderungen vorgenommen haben, die von Bearbeiten und Fortfahren nicht sofort neu zuordnen kann. Dies kann auftreten, wenn Sie z. B. Code in einem catch-Block bearbeitet haben. Wenn dies der Fall ist, wird eine Fehlermeldung angezeigt, die wie folgt aussieht: "Die nächste Anweisung kann nicht auf diese Position versetzt werden. Der Vorgang wird nicht unterstützt. Unbekannter Fehler: Fehlernummer"
Tipp
In verwaltetem Code können Sie die nächste Anweisung unter den folgenden Bedingungen nicht verschieben:
Die nächste Anweisung und die aktuelle Anweisung befinden sich in verschiedenen Methoden.
Das Debuggen wurde über Just-In-Time-Debuggen gestartet.
Die Aufrufliste wird gerade entladen.
Eine System.StackOverflowException oder eine System.Threading.ThreadAbortException wurden ausgelöst.
Während die Anwendung aktiv ausgeführt wird, ist es nicht möglich, die nächste Anweisung festzulegen. Zum Festlegen der nächsten Anweisung muss sich der Debugger im Unterbrechungsmodus befinden. Weitere Informationen hierzu finden Sie unter Unterbrechen der Ausführung.
Tipp
Je nach den aktiven Einstellungen oder der Version unterscheiden sich die Dialogfelder und Menübefehle auf Ihrem Bildschirm möglicherweise von den in der Hilfe beschriebenen. Klicken Sie im Menü Extras auf Einstellungen importieren und exportieren, um die Einstellungen zu ändern. Weitere Informationen finden Sie unter Arbeiten mit Einstellungen.
So legen Sie die nächste auszuführende Anweisung fest
Klicken Sie in einem Quellcodefenster auf die gelbe Pfeilspitze, und ziehen Sie sie in derselben Quelldatei an die Position, an der Sie die nächste Anweisung festlegen möchten
- oder -
Klicken Sie in einem Quellcodefenster mit der rechten Maustaste auf die Anweisung, die Sie als nächstes ausführen möchten, und wählen Sie Nächste Anweisung festlegen aus.
Klicken Sie im Fenster Disassembly mit der rechten Maustaste auf die Anweisung in Assemblysprache, die Sie als nächstes ausführen möchten, und wählen Sie Nächste Anweisung festlegen aus.