Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Bearbeiten und Fortfahren behandelt die meisten Arten von Änderungen, die am Code im Methodentext vorgenommen werden.Die meisten Änderungen außerhalb von Methodentexten sowie einige Änderungen in Methodentexten können jedoch während des Debuggens nicht übernommen werden.Wenn Sie diese nicht unterstützten Änderungen übernehmen möchten, müssen Sie das Debuggen beenden und mit einer neuen Version des Codes erneut starten.
Folgende Änderungen an C#-Code können während einer Debugsitzung nicht übernommen werden:
Änderungen an der aktuellen Anweisung oder einer beliebigen anderen aktiven Anweisung.
Aktive Anweisungen umfassen alle Anweisungen in Funktionen auf der Aufrufliste, die aufgerufen wurden, um zur aktuellen Anweisung zu gelangen.
Die aktuelle Anweisung wird im Quellcodefenster mit einem gelben Hintergrund markiert.Andere aktive Anweisungen werden mit einem grauen Hintergrund markiert und sind schreibgeschützt.Diese Standardfarben können im Dialogfeld Optionen geändert werden.
Änderungen an globalen Symbolen, einschließlich der Folgenden:
Hinzufügen von neuen Typen.
Hinzufügen von Methoden zu einem Typ.
Ändern der Signatur eines Typs.
Hinzufügen von Feldern, Ereignissen oder Eigenschaften zu einem Typ.
Bearbeiten einer anonymen Methode oder einer beliebigen Methode, die eine anonyme Methode enthält.Diese Methoden werden mit einem grauen Hintergrund markiert.
Hinzufügen einer neuen anonymen Methode.
Hinzufügen, Entfernen oder Ändern von Attributen.
Hinzufügen, Entfernen oder Ändern von using-Direktiven.
Entfernen oder Ändern lokaler Variablen.Das Hinzufügen lokaler Variablen ist gestattet.
Hinzufügen von foreach, using oder lock zu der aktiven Anweisung.
Ändern einer Methode, die eine yield return-Anweisung oder eine yield break-Anweisung enthält.
Ändern eines Konstruktors mit einem Feld, das durch eine anonyme Methode initialisiert wird.
Unsicherer Code
Änderungen an unsicherem Code unterliegen denselben Einschränkungen wie Änderungen an sicherem Code, allerdings mit einer zusätzlichen Einschränkung:
- Von "Bearbeiten" und "Fortfahren" werden keine Änderungen an unsicherem Code unterstützt, der sich innerhalb einer Methode mit dem Operator "stackalloc" befindet.Dies gilt nur für aktive Methoden.Während des Debuggens ist jede Funktion, die gerade in der Aufrufliste enthalten ist, eine aktive Funktion.
Ausnahmen
Bearbeiten und Fortfahren unterstützt Änderungen an catch, an finally an, und try Blöcke mit wenigen Ausnahmen für die Extents in den aktiven Methoden, wie Methoden, die derzeit in der Aufrufliste sind.
In einer aktiven Funktion, die die aktuellste Funktion auf der Aufrufliste ist, wird von Bearbeiten und Fortfahren Folgendes nicht unterstützt:
- Block eines catch oder finally die aktive Anweisung hinzu.
Hinzufügen von geschachtelten Ausnahmehandlern mit mehr als sechs Schachtelungsebenen.
In einer aktiven Funktion, die nicht die aktuellste Funktion auf der Aufrufliste ist, wird von Bearbeiten und Fortfahren Folgendes nicht unterstützt:
catch, finally-Block oder try um die aktive Anweisung hinzu.
Hinzufügen von geschachtelten Ausnahmehandlern mit mehr als sechs Schachtelungsebenen.
Code innerhalb eines Blocks try ändern, der die aktive Anweisung enthält.
Nicht unterstützte Szenarios
Bearbeiten und Fortfahren steht in den folgenden Debugszenarios nicht zur Verfügung:
Debuggen von LINQ-CodeWeitere Informationen finden Sie unter Edit and Continue Not Supported for LINQ.
Debuggen im gemischten Modus (systemeigen/verwaltet).
SQL-Debuggen.
Debuggen einesDr.Watson-Dumps.
Bearbeiten von Code nach einer nicht behandelten Ausnahme, wenn die Option "Aufrufliste für unbehandelte Ausnahmen entladen" nicht aktiviert ist.
Debuggen einer eingebetteten Laufzeitanwendung.
Debuggen einer Anwendung mit Anfügen an, anstatt die Anwendung im Menü Debuggen durch Auswählen von Start auszuführen.
Debuggen von optimiertem Code.
Debuggen von verwaltetem Code, wenn das Ziel eine 64-Bit-Anwendung ist.Wenn Sie Bearbeiten und Fortfahren verwenden möchten, müssen Sie das Ziel auf x86 festlegen.(ProjektEigenschaften, Kompilieren Tab, Erweiterter Compiler festlegen.)
Debuggen einer alten Version des Codes, wenn eine neue Version aufgrund von Buildfehlern nicht erstellt werden konnte.
Siehe auch
Aufgaben
Gewusst wie: Verwenden von "Bearbeiten und Fortfahren" (C#)
Referenz
Bearbeiten und Fortfahren (Visual C#)
Bearbeiten und Fortfahren: Fehlermeldungen und Warnungen (C#)