Teilen über


Debuggen Ihres Python-Codes in Visual Studio

Visual Studio bietet eine umfassende Debuggingerfahrung für Python. In diesem Artikel erfahren Sie, wie Sie den Debugger an laufende Prozesse anhängen und Ausdrücke in den Fenstern Überwachen und Direkt auswerten. Im Debugger können Sie lokale Variablen überprüfen, Haltepunkte verwenden, Anweisungen in Einzelschritten, Prozedurschritten oder bis Rücksprung ausführen, die nächste Anweisung festlegen usw.

Szenariospezifische Debugging-Informationen finden Sie in den folgenden Artikeln:

Voraussetzungen

Debuggen von Code mit oder ohne Projekt

Wenn Sie Ihre Python-Umgebung und -Argumente steuern möchten, erstellen Sie zuerst ein Projekt für Ihren Code. Sie können ein Projekt mit der Projektvorlage Aus vorhandenem Python-Code erstellen. Weitere Informationen finden Sie unter Create Project From Existing Code Files Wizard (Assistent für das Erstellen von Projekten aus vorhandenen Codedateien).

Sie benötigen jedoch keine Projekt- oder Projektmappendatei in Visual Studio, um Ihren Python-Code zu debuggen. Um Code in einer eigenständigen Python-Datei zu debuggen, öffnen Sie Ihre Datei in Visual Studio, und wählen Sie Debuggen>Debuggen starten aus. Visual Studio startet das Skript mit der globalen Standardumgebung und ohne Argumente. Sie haben dann volle Debugging-Unterstützung für Ihren Code. Weitere Informationen finden Sie unter Python-Umgebungen.

Grundlegendes Debuggen erkunden

Der grundlegende Debugging-Workflow umfasst das Festlegen von Haltepunkten, das schrittweise Durchlaufen des Codes, das Überprüfen von Werten und das Behandeln von Ausnahmen. Sie können eine Debugsitzung starten, indem Sie Debuggen>Debuggen starten auswählen oder die Tastenkombination F5 verwenden. Bei einem Projekt starten diese Aktionen die Startdatei mit der aktiven Umgebung des Projekts und allen für Projekteigenschaften angegebenen Befehlszeilenargumenten oder Suchpfaden. Informationen zum Konfigurieren der Eigenschaften finden Sie unter Projekt-Debuggingoptionen festlegen.

Festlegen der Projektstartdatei

Die Startdatei für ein Projekt wird im Projektmappen-Explorer fettformatiert angezeigt. Sie können auswählen, welche Datei als Startdatei verwendet werden soll.

  • Um eine Projektdatei als Startdatei festzulegen, klicken Sie mit der rechten Maustaste auf die Datei und wählen Sie Als Startelement festlegen aus.

In Visual Studio 2017, Version 15.6 und höher, wird eine Warnung angezeigt, wenn Sie keinen angegebenen Startdateisatz haben. In früheren Versionen von Visual Studio wird möglicherweise ein Ausgabefenster geöffnet, in dem der Python-Interpreter ausgeführt wird, oder das Ausgabefenster wird kurz geöffnet und geschlossen.

Angeben der aktiven Umgebung

Wenn Sie eine Projektdatei verwenden, startet der Debugger immer mit der aktiven Python-Umgebung für das Projekt. Sie können die aktuelle aktive Umgebung ändern. Weitere Informationen finden Sie unter Auswählen einer Python-Umgebung für ein Projekt.

Wenn Sie eine eigenständige Python-Codedatei debuggen, startet Visual Studio das Skript mit der globalen Standardumgebung und ohne Argumente.

Festlegen von Haltepunkten

Haltepunkte halten die Ausführung des Codes an einem markierten Punkt an, sodass Sie den Programmzustand überprüfen können.

Einige Haltepunkte in Python können für Entwickler überraschend sein, die mit anderen Programmiersprachen gearbeitet haben. In Python ist die gesamte Datei ausführbarer Code, daher führt Python die Datei beim Laden aus, um Klassen- oder Funktionsdefinitionen auf oberster Ebene zu verarbeiten. Wenn ein Haltepunkt festgelegt wurde, stellen Sie möglicherweise fest, dass der Debugger mitten in einer Klassendeklaration unterbricht. Dieses Verhalten ist korrekt, obwohl es manchmal überraschend ist.

  • Um einen Haltepunkt festzulegen, klicken Sie auf den linken Rand des Code-Editors aus oder klicken Sie mit der rechten Maustaste auf eine Codezeile und wählen Sie Haltepunkt>Haltepunkt einfügen aus. In jeder Zeile mit einem Haltepunkt wird ein roter Punkt angezeigt.

    Screenshot, der zeigt, wie Breakpoints am linken Rand der Codedatei in Visual Studio angezeigt werden.

  • Um einen Haltepunkt zu entfernen, wählen Sie den roten Punkt aus oder klicken Sie mit der rechten Maustaste auf die Codezeile und wählen Sie Haltepunkt>Haltepunkt löschen aus. Sie können einen Haltepunkt auch deaktivieren, indem Sie den roten Punkt und Haltepunkt>Haltepunkt deaktivieren auswählen.

    Screenshot, der zeigt, wie Sie einen Haltepunkt am linken Rand der Codedatei in Visual Studio deaktivieren können.

Festlegen von Bedingungen und Aktionen

Sie können die Bedingungen anpassen, unter denen ein Haltepunkt ausgelöst wird, sodass z.B. nur dann unterbrochen wird, wenn eine Variable auf einen bestimmten Wert oder Wertebereich festgelegt ist.

  • Klicken Sie zum Festlegen von Bedingungen mit der rechten Maustaste auf den roten Punkt des Haltepunkts, und wählen Sie Bedingungen aus. Das Dialogfeld Haltepunkteinstellungen wird geöffnet.

    Im Dialogfeld können Sie mehrere Bedingungen hinzufügen und bedingte Ausdrücke mithilfe von Python-Code erstellen. Ausführliche Informationen zu dieser Funktion in Visual Studio finden Sie unter Haltepunktbedingungen.

    Screenshot, der zeigt, wie Sie die Option zum Konfigurieren von Bedingungen für einen Haltepunkt in Visual Studio auswählen.

  • Sie haben auch die Optionen zum Festlegen von Aktionen für einen Haltepunkt. Sie können auch eine Nachricht zum Protokollieren im Ausgabefenster erstellen und optional angeben, dass die Ausführung automatisch fortgesetzt werden soll.

    Screenshot, der zeigt, wie Ablaufverfolgungspunktaktionen für einen Haltepunkt in Visual Studio erstellt werden.

    Durch das Protokollieren einer Nachricht wird ein Ablaufverfolgungspunkt erstellt. Dadurch wird Ihrer Anwendung kein Protokollierungscode direkt hinzugefügt.

Je nachdem, wie Sie Bedingungen und Aktionen für einen Haltepunkt konfigurieren, ändert sich das rote Symbol am linken Rand, um Ihre Einstellungen anzuzeigen. Möglicherweise wird die Punktform, ein Zeitgeber oder eine Raute angezeigt.

Schritt-für-Schritt-Ausführung des Codes

Wenn Visual Studio die Codeausführung an einem Haltepunkt stoppt, gibt es mehrere Befehle, mit denen Sie den Code durchlaufen oder Codeblöcke ausführen können, bevor sie erneut abgebrochen werden. Die Befehle sind an einigen Stellen in Visual Studio verfügbar, darunter auf der Debugger-Symbolleiste, im Menü Debuggen, im Kontextmenü im Code-Editor und über Tastenkombinationen.

Die folgende Tabelle fasst diese Befehle zusammen und stellt die Tastenkombination bereit:

Get-Help Verknüpfung Beschreibung
Beenden UMSCHALT + F5 Beenden Sie die Debugsitzung.
Neu starten STRG+UMSCHALT+F5 Starten Sie die aktuelle Debugsitzung neu.
Continue F5 Führen Sie den Code aus, bis Sie den nächsten Haltepunkt erreichen.
Einzelschritt F11 Führen Sie die nächste Anweisung aus, und halten Sie an. Wenn die nächste Anweisung ein Funktionsaufruf ist, hält der Debugger in der ersten Zeile der aufgerufenen Funktion an.
Prozedurschritt F10 Führen Sie die nächste Anweisung aus, einschließlich des Aufrufs einer Funktion (sämtlicher Code wird ausgeführt) und der Anwendung von möglichen Rückgabewerten. Mit diesem Befehl können Sie Funktionen, die Sie nicht debuggen müssen, einfach überspringen.
Ausführen bis Rücksprung UMSCHALT+F11 Führen Sie den Code bis zum Ende der aktuellen Funktion aus, und fahren Sie dann mit der aufrufenden Anweisung fort. Dieser Befehl ist hilfreich, wenn Sie den Rest der aktuellen Funktion nicht debuggen müssen.
Ausführen bis Cursor STRG+F10 Führen Sie den Code bis zur Position des Caretzeichens im Editor aus. Mit diesem Befehl können Sie ganz einfach ein Codesegment überspringen, das Sie nicht debuggen müssen.
Festlegen der nächsten Anweisung STRG+UMSCHALT+F10 Ändern Sie den aktuellen Ausführungspunkt im Code in die Position des Caretzeichens. Mit diesem Befehl können Sie die Ausführung eines Codesegments verhindern, wenn Sie z.B. wissen, dass der Code fehlerhaft ist oder zu unerwünschten Nebeneffekten führt.
Nächste Anweisung anzeigen Alt+Num+\ Kehren Sie zur nächsten Anweisung zurück, die im Code ausgeführt werden soll. Mit diesem Befehl können Sie die Stelle in Ihrem Code finden, an der der Debugger gestoppt wird.

Überprüfen und Ändern von Werten

Wenn Sie die Codeausführung im Debugger stoppen, können Sie die Werte von Variablen überprüfen und ändern. Sie können auch das Überwachungsfenster verwenden, um einzelne Variablen sowie benutzerdefinierte Ausdrücke zu überwachen. Weitere Informationen finden Sie unter Überprüfen von Variablen.

  • Um einen Wert mithilfe der Funktion DataTips beim Debuggen anzuzeigen, zeigen Sie mit dem Mauszeiger auf eine beliebige Variable im Editor. Sie können den Variablenwert auswählen, um ihn zu ändern:

    Screenshot, der den DataTips-Wert für eine Variable im Visual Studio Debugger zeigt.

  • Um das Fenster Auto zu verwenden, wählen Sie Debuggen>Fenster>Auto aus. Dieses Fenster enthält Variablen und Ausdrücke, die der aktuellen Anweisung nahe kommen. Sie können auf die Wertspalte doppelklicken oder einen Wert auswählen und F2 drücken, um den Wert zu bearbeiten:

    Screenshot, der das Auto-Fenster im Visual Studio-Debugger zeigt.

    Weitere Informationen zur Verwendung des Fensters Auto finden Sie unter Untersuchen von Variablen über die Fenster „Auto“ und „Lokal“.

  • Um das Fenster Lokal zu verwenden, wählen Sie Debuggen>Fenster>Lokal aus. In diesem Fenster werden alle Variablen angezeigt, die sich im aktuellen Bereich befinden und erneut bearbeitet werden können:

    Screenshot, der das Lokale-Fenster im Visual Studio-Debugger zeigt.

    Weitere Informationen zur Verwendung des Fensters Lokal finden Sie unter Untersuchen von Variablen über die Fenster „Auto“ und „Lokal“.

  • Um die Überwachungsfenster zu verwenden, wählen Sie Debuggen>Fenster>Überwachen>Überwachen 1-4 aus. Mit dieser Option können Sie beliebige Python-Ausdrücke eingeben und die Ergebnisse anzeigen. Ausdrücke werden für jeden Schritt erneut ausgewertet:

    Screenshot, der das Überwachungsfenster im Visual Studio-Debugger zeigt.

    Weitere Informationen zur Verwendung des Überwachungsfensters finden Sie unter Festlegen einer Überwachung von Variablen in den Fenstern „Überwachung“ und „Schnellüberwachung“.

  • Um einen Zeichenfolgenwert zu prüfen, wählen Sie Ansicht (Lupe) auf der rechten Seite des Eintrags Wert aus. Die Typen str, unicode, bytes und bytearray sind alle zur Überprüfung verfügbar.

    Im Dropdownmenü Ansicht werden vier Visualisierungsoptionen angezeigt: Text, HTML, XML oder JSON.

    Screenshot, der zeigt, wie Sie über die Ansichtslupe im Visual Studio Debugger auf Visualizer zugreifen können.

    Nachdem Sie eine Visualisierung ausgewählt haben, zeigt ein Popup-Dialogfeld den nicht in Anführungszeichen gesetzten Zeichenfolgenwert entsprechend dem ausgewählten Typ an. Sie können die Zeichenfolge mit Umbruch und Bildlauf, Syntaxhervorhebung und Strukturansichten anzeigen. Diese Visualisierungen können beim Debuggen von Problemen mit langen und komplexen Zeichenfolgen helfen.

Anzeigen von Ausnahmen

Wenn während des Debuggens ein Fehler in Ihrem Programm auftritt, aber kein Ausnahmehandler dafür vorhanden ist, hält der Debugger am Punkt der Ausnahme an:

Screenshot eines Ausnahmepopups für einen nicht behandelten Fehler im Visual Studio-Debugger.

Wenn ein Fehler auftritt, können Sie den aktuellen Programmstatus einschließlich der Aufrufliste überprüfen. Wenn Sie jedoch den Code schrittweise durchgehen, löst der Debugging-Prozess die Ausnahme weiterhin aus, bis sie behandelt oder das Programm beendet wird.

  • Um eine erweiterte Ansicht von Ausnahmen anzuzeigen, wählen Sie Debuggen>Fenster>Ausnahmeeinstellungen aus.

    Screenshot, der das Ausnahmeeinstellungs-Fenster im Debugger von Visual Studio zeigt.

    Im Fenster Ausnahmeeinstellungen steuert das Kontrollkästchen neben einer Ausnahme, ob der Debugger immer unterbrochen wird, wenn diese Ausnahme ausgelöst wird.

  • Um eine bestimmte Ausnahme häufiger zu unterbrechen, aktivieren Sie das Kontrollkästchen neben der Ausnahme im Fenster Ausnahmeeinstellungen.

  • Standardmäßig werden die meisten Ausnahmen unterbrochen, wenn im Quellcode kein Ausnahmehandler gefunden werden kann. Um dieses Verhalten zu ändern, klicken Sie mit der rechten Maustaste auf eine Ausnahme, und passen Sie die Option Continue When Unhandled in User Code (Fortfahren, wenn in Benutzercode nicht behandelt) an. Um die Ausnahme seltener zu unterbrechen, deaktivieren Sie diese Option.

  • Um eine Ausnahme zu konfigurieren, die im Fenster Ausnahmeeinstellungen nicht angezeigt wird, wählen Sie Hinzufügen (Plus-Symbol) aus. Geben Sie einen Namen für die zu überwachende Ausnahme ein. Der Name muss mit dem vollständigen Namen der Ausnahme übereinstimmen.

Konfigurieren von Projekt-Debuggingoptionen

Standardmäßig startet der Debugger Ihr Programm mit dem Python-Standardstartprogramm, ohne Befehlszeilenargumente und ohne andere spezielle Pfade oder Bedingungen. Sie können die Startoptionen für ein Python-Projekt konfigurieren, indem Sie die Debugging-Eigenschaften festlegen.

  • Um auf die Debugging-Eigenschaften für ein Projekt zuzugreifen, klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Python-Projekt, wählen Sie Eigenschaften und dann die Registerkarte Debuggen aus.

    Screenshot, der die Debug-Eigenschaften des Python-Projekts im Visual Studio-Debugger zeigt.

In den folgenden Abschnitten werden die spezifischen Eigenschaften beschrieben.

Definieren des Startverhaltens

In der folgenden Tabelle sind mögliche Werte für die Eigenschaft Startmodus aufgeführt. Verwenden Sie diese Eigenschaft, um das Startverhalten für den Debugger zu definieren.

Wert Beschreibung
Python-Standardstartprogramm Verwenden Sie Debugging-Code, der in portablem Python geschrieben ist, das mit CPython, IronPython und Varianten wie Stackless Python kompatibel ist. Diese Option bietet die beste Leistung für das Debuggen von reinem Python-Code. Beim Anfügen an einen ausgeführten python.exe-Prozess wird das in dieser Eigenschaft angegebene Startprogramm verwendet. Dieses Startprogramm ermöglicht auch das Debuggen im gemischten Modus für CPython, mit dem Sie nahtlos zwischen C/C++-Code und Python-Code wechseln können.
Webstartprogramm Starten Sie beim Start Ihren Standardbrowser, und aktivieren Sie das Debuggen von Vorlagen. Weitere Informationen finden Sie im Abschnitt Debuggen von Webvorlagen.
Django-Webstartprogramm Implementieren Sie identisches Verhalten mit der Eigenschaft Webstartprogramm, aber für eine Django-Umgebung. Verwenden Sie diese Option nur aus Gründen der Abwärtskompatibilität.
IronPython-Startprogramm (.NET) Verwenden Sie den .NET-Debugger, der nur mit IronPython funktioniert, aber das Wechseln zwischen jedem .NET-Sprachprojekt, einschließlich C# und Visual Basic, ermöglicht. Dieses Startprogramm wird beim Anfügen an einen ausgeführten .NET-Prozess verwendet, der IronPython hostet.

Definieren des Ausführungsverhaltens

In der folgenden Tabelle werden Eigenschaften beschrieben, die Sie festlegen können, um das Ausführungsverhalten des Debuggers zu konfigurieren.

Eigenschaft Beschreibung
Suchpfade Geben Sie die Datei- und Ordnersuchpfade an, die Visual Studio für Ihr Projekt verwendet. Diese Werte entsprechen den im Knoten Suchpfade des Projektmappen-Explorers angezeigten Elementen. Während Sie in diesem Dialogfeld Suchpfade angeben können, kann es einfacher sein, den Projektmappen-Explorer zu verwenden, in dem Sie Ordner durchsuchen und Pfade automatisch in eine relative Form konvertieren können.
Skriptargumente Definieren Sie die Argumente, die dem Befehl hinzugefügt werden sollen, den Visual Studio zum Starten Ihres Skripts verwendet, und die nach dem Dateinamen Ihres Skripts angezeigt werden. Das erste im Wert aufgeführte Element steht Ihrem Skript als sys.argv[1], das zweite als sys.argv[2] usw. zur Verfügung.
Interpreterargumente Führen Sie die Argumente auf, die der Launcher-Befehlszeile vor dem Namen Ihres Skripts hinzugefügt werden sollen. Allgemeine Argumente sind -W ... zum Steuern von Warnungen, -O zum Optimieren Ihres Programms und -u zum Verwenden von nicht gepufferter E/A. IronPython-Benutzer werden dieses Feld vermutlich zum Übergeben von -X-Optionen verwenden, z.B. -X:Frames oder -X:MTA.
Interpreterpfad Identifizieren Sie einen Interpreter-Pfad, um den mit der aktuellen Umgebung verknüpften Pfad zu überschreiben. Der Wert kann nützlich sein, um Ihr Skript mit einem nicht standardmäßigen Interpreter zu starten.
Umgebungsvariablen Verwenden Sie diese Eigenschaft, um Einträge des Formulars <NAME>=\<VALUE> hinzuzufügen. Visual Studio wendet diesen Eigenschaftswert zuletzt an, und zwar über allen vorhandenen globalen Umgebungsvariablen und nach dem Festlegen von PYTHONPATH gemäß der Einstellung Suchpfade. Daher kann diese Einstellung verwendet werden, um alle anderen Variablen manuell zu überschreiben.

Arbeiten mit interaktiven Fenstern

Es gibt zwei interaktive Fenster, die Sie während einer Debugsitzung verwenden können: das standardmäßige Visual Studio-Direktfenster und das interaktive Python-Debugfenster.

Öffnen des Direktfensters

Sie können das standardmäßige Visual Studio-Direktfenster verwenden, um Python-Ausdrücke schnell auszuwerten und Variablen in Ihrem ausgeführten Programm zu überprüfen oder zuzuweisen. Weitere Informationen finden Sie unter Direktfenster.

  • Um das Direktfenster zu öffnen, wählen Sie Debuggen>Fenster>Direkt aus. Sie können auch die Tastenkombination STRG+Alt+I verwenden.

Öffnen des Fensters zum interaktiven Debuggen

Das interaktive Python-Debugfenster bietet eine umfangreiche Umgebung mit der vollständigen Erfahrung Interaktive REPL, die beim Debuggen verfügbar ist, einschließlich des Schreibens und Ausführens von Code. Dieses Fenster stellt automatisch eine Verbindung zu jedem Prozess her, der mit dem Python-Standardstartprogramm gestartet wird (einschließlich Prozessen, die über Debuggen>An den Prozess anhängen angefügt werden). Dieses Fenster ist jedoch nicht verfügbar, wenn Sie das C/C++-Debugging im gemischten Modus verwenden.

  • Um das Fenster zum interaktiven Debuggen zu verwenden, wählen Sie Debuggen>Fenster>Interaktives Python-Debuggen (Umschalt+Alt+I) aus.

    Screenshot, der zeigt, wie Sie mit dem interaktiven Python-Debugfenster in Visual Studio arbeiten.

Das Fenster zum interaktiven Debuggen unterstützt zusätzlich zu den REPL-Standardbefehlen spezielle Metabefehle, wie in der folgenden Tabelle beschrieben:

Befehl Beschreibung
$continue, $cont, $c Starten Sie die Ausführung des Programms ab der aktuellen Anweisung.
$down, $d Verschiebt den aktuellen Rahmen in der Stapelüberwachung eine Ebene nach unten.
$frame Zeigen Sie die aktuelle Rahmen-ID an.
$frame Legen Sie den aktuellen Rahmen auf die angegebene Rahmen-ID fest.
- Erfordert ein <Rahmen-ID>-Argument.
$load Laden Sie Befehle aus der Datei und führen Sie sie aus, bis sie abgeschlossen sind.
$proc Zeigen Sie die aktuelle Prozess-ID an.
$proc Legen Sie den aktuellen Prozess auf die angegebene Prozess-ID fest.
- Erfordert ein <Prozess-ID>-Argument.
$procs Führen Sie die aktuell im Debugmodus befindlichen Prozesse auf.
$stepin, $step, $s Führen Sie, wenn möglich, den nächsten Funktionsaufruf aus.
$stepout, $return, $r Führen Sie die aktuelle Funktion bis zum Rücksprung aus.
$stepover, $until, $unt Überspringen Sie einen Einzelschritt in den nächsten Funktionsaufruf.
$thread Zeigen Sie die aktuelle Thread-ID an.
$thread Legen Sie den aktuellen Thread auf die angegebene Thread-ID fest.
- Erfordert ein <Thread-ID>-Argument.
$threads Führen Sie die aktuell im Debugmodus befindlichen Threads auf.
$up, $u Verschiebt den aktuellen Rahmen in der Stapelüberwachung eine Ebene nach oben.
$where, $w, $bt Führen Sie die Rahmen für den aktuellen Thread auf.

Standardmäßige Debuggerfenster wie Prozesse, Threads und Aufrufliste werden nicht mit dem Fenster zum interaktiven Debuggen synchronisiert. Wenn Sie den aktiven Prozess, Thread oder Frame im Fenster zum interaktiven Debuggen ändern, sind die anderen Debugger-Fenster nicht betroffen. Entsprechend gilt: Das Ändern des aktiven Prozesses, Threads oder Frames in anderen Debuggerfenstern wirkt sich nicht auf das Fenster zum interaktiven Debuggen aus.

Verwenden des Legacydebuggers

Abhängig von Ihrer Umgebungskonfiguration müssen Sie möglicherweise den Legacy-Debugger verwenden:

  • Visual Studio 2017, Version 15.7 und früher mit Python 2.6, 3.1 bis 3.4 oder IronPython
  • Visual Studio 2019, Version 16.5 und höher mit Python 2.6, 3.1 bis 3.4 oder IronPython
  • ptvsd 3.x- und frühe 4.x-Versionen

Der Legacy-Debugger ist der Standard in Visual Studio 2017 Version 15.7 und früher.

  • Um den Legacydebugger zu verwenden, wählen Sie Extras>Optionen, erweitern Sie die Optionen Python>Debugging, und wählen Sie die Option Legacydebugger verwenden aus.

Support für ältere Visual Studio- oder Python-Versionen

Visual Studio 2017, Version 15.8 und höher, verwendet einen Debugger, der auf ptvsd-Version 4.1 und höher basiert. Visual Studio 2019 verwendet ab Version 16.5 einen Debugger, der auf debugpy basiert. Diese beiden Versionen des Debuggers sind mit Python 2.7 oder Python 3.5 und höher kompatibel.

Wenn Sie eine dieser Versionen von Visual Studio ausführen, aber Python 2.6, 3.1 bis 3.4 oder IronPython verwenden, zeigt Visual Studio die Fehlermeldung Diese Python-Umgebung wird vom Debugger nicht unterstützt an:

Screenshot der Debugger-Fehlermeldung Debugger unterstützt diese Python-Umgebung nicht.

Wenn Visual Studio diesen Umgebungsfehler meldet, müssen Sie den Legacydebugger verwenden.

Unterstützt ältere ptvsd-Versionen

Wenn Sie in der aktuellen Umgebung eine ältere Version von ptvsd verwenden (z. B. eine frühere 4.0.x-Version oder eine 3.x-Version, die für das Remotedebuggen erforderlich ist), zeigt Visual Studio möglicherweise einen Fehler oder eine Warnung an.

Wenn Ihre Umgebung ptvsd 3.x verwendet, zeigt Visual Studio den Fehler Das Debuggerpaket konnte nicht geladen werden an:

Screenshot der Debugger-Fehlermeldung Debuggerpaket konnte nicht geladen werden.

Die Warnung Debuggerpaket ist veraltet wird angezeigt, wenn Sie eine frühere 4.x-Version von ptvsd verwenden:

Screenshot der Debugger-Warnmeldung Debuggerpaket ist veraltet.

Wenn Visual Studio diese Umgebungsfehler meldet, müssen Sie den Legacydebugger verwenden.

Wichtig

Auch wenn Sie sich möglicherweise dafür entscheiden, die Warnung bei einigen ptvsd-Versionen zu ignorieren, funktioniert Visual Studio unter Umständen nicht ordnungsgemäß.

Verwalten Ihrer ptvsd-Installation

Führen Sie die folgenden Schritte aus, um Ihre ptvsd-Installation zu verwalten:

  1. Navigieren Sie im Fenster Python-Umgebungen zur Registerkarte Pakete.

  2. Geben Sie ptvsd in das Suchfeld ein, und überprüfen Sie die installierte Version von ptvsd:

    Screenshot, der zeigt, wie Sie die ptvsd-Version im Fenster Python-Umgebungen überprüfen können.

  3. Wenn die Version niedriger als 4.1.1a9 ist (die mit Visual Studio gebündelte Version), klicken Sie rechts im Paket auf X, um die ältere Version zu deinstallieren. Visual Studio verwendet dann die gebündelte Version. (Sie können die Deinstallation auch über PowerShell mithilfe des pip uninstall ptvsd-Befehls durchführen.

  4. Alternativ können Sie das ptvsd-Paket auf die neueste Version aktualisieren, indem Sie die Anweisungen im Abschnitt Problembehandlung für Debug-Szenarien befolgen.

Problembehandlung für Debug-Szenarien

In den folgenden Szenarien werden weitere Problembehandlungsoptionen für die Debugkonfiguration beschrieben.

Aktualisieren von ptvsd für Visual Studio 2019

Wenn Sie Probleme mit dem Debugger in Visual Studio 2019 Version 16.4 und früher haben, aktualisieren Sie zunächst Ihre Version des Debuggers wie folgt:

  1. Navigieren Sie im Fenster Python-Umgebungen zur Registerkarte Pakete.

  2. Geben Sie ptvsd --upgrade in das Suchfeld ein, wählen Sie dann Run command: pip install ptvsd --upgrade aus. (Sie können denselben Befehl auch in PowerShell verwenden.)

    Screenshot, der zeigt, wie Sie den Befehl ptvsd-Upgrade im Fenster Python-Umgebungen auswählen.

    Wenn die Probleme weiterhin auftreten, melden Sie ein Problem im PTVS GitHub-Repository.

    Hinweis

    Für Visual Studio 2019 ab Version 16.5 ist debugpy Teil der Python-Workload von Visual Studio und wird zusammen mit Visual Studio aktualisiert.

Aktivieren der Debuggerprotokollierung

Im Rahmen der Untersuchung eines Debuggerproblems kann Microsoft Sie bitten, Debuggerprotokolle zu aktivieren und zu erfassen, die bei der Diagnose helfen.

Die folgenden Schritte ermöglichen das Debuggen in der aktuellen Visual Studio-Sitzung:

  1. Öffnen Sie hierzu in Visual Studio ein Befehlsfenster, indem Sie Ansicht>Weitere Fenster>Befehlsfenster auswählen.

  2. Geben Sie den folgenden Befehl ein:

    DebugAdapterHost.Logging /On /OutputWindow
    
  3. Beginnen Sie mit dem Debuggen, und führen Sie alle notwendigen Schritte aus, um Ihr Problem zu reproduzieren. Während dieser Zeit werden Debugprotokolle im Fenster Ausgabe unter Adapterhostprotokoll debuggen angezeigt. Sie können die Protokolle dann aus diesem Fenster kopieren und in ein GitHub-Problem, eine E-Mail usw. einfügen.

    Screenshot, der die Debugger-Protokollierungsausgabe im Ausgabefenster von Visual Studio zeigt.

  4. Wenn Visual Studio nicht mehr reagiert oder Sie anderweitig nicht auf das Fenster Ausgabe zugreifen können, starten Sie Visual Studio neu, öffnen Sie ein Befehlsfenster, und geben Sie den folgenden Befehl ein:

    DebugAdapterHost.Logging /On
    
  5. Beginnen Sie mit dem Debuggen, und reproduzieren Sie Ihr Problem erneut. Die Debuggerprotokolle befinden sich in %temp%\DebugAdapterHostLog.txt.