Debugowanie kodu języka Python w programie Visual Studio

Program Visual Studio zapewnia kompleksowe środowisko debugowania dla języka Python. W tym artykule przedstawiono sposób dołączania debugera do uruchamiania procesów i oceniania wyrażeń w oknach obserwowanych i natychmiastowych . W debugerze można sprawdzić zmienne lokalne, używać punktów przerwania, wyjść/wyjść instrukcji, ustawić następną instrukcję i nie tylko.

Informacje dotyczące debugowania specyficzne dla scenariusza można znaleźć w następujących artykułach:

Wymagania wstępne

Debugowanie kodu z projektem lub bez go

Jeśli chcesz kontrolować środowisko i argumenty języka Python, najpierw utwórz projekt dla kodu. Projekt można utworzyć przy użyciu szablonu projektu z istniejącego kodu w języku Python. Aby uzyskać więcej informacji, zobacz Create a project from existing Python code files (Tworzenie projektu na podstawie istniejących plików kodu języka Python).

Nie potrzebujesz jednak pliku projektu ani rozwiązania w programie Visual Studio, aby debugować kod w języku Python. Aby debugować kod w autonomicznym pliku języka Python, otwórz plik w programie Visual Studio i wybierz pozycję Debuguj>rozpocznij debugowanie. Program Visual Studio uruchamia skrypt z globalnym środowiskiem domyślnym i bez argumentów. Następnie masz pełną obsługę debugowania kodu. Aby uzyskać więcej informacji, zobacz Środowiska języka Python.

Eksplorowanie podstawowego debugowania

Podstawowy przepływ pracy debugowania obejmuje punkty przerwania ustawień, przechodzenie przez kod, inspekcję wartości i obsługę wyjątków. Możesz rozpocząć sesję debugowania, wybierając pozycję Debuguj>rozpocznij debugowanie lub używając skrótu klawiaturowego F5. W przypadku projektu te akcje uruchamiają plik startowy przy użyciu aktywnego środowiska projektu oraz wszystkich argumentów wiersza polecenia lub ścieżek wyszukiwania określonych dla właściwości projektu. Aby skonfigurować właściwości, zobacz Ustawianie opcji debugowania projektu.

Ustawianie pliku uruchamiania projektu

Plik startowy projektu jest wyświetlany pogrubioną w Eksplorator rozwiązań. Możesz wybrać plik, który ma być używany jako plik startowy.

  • Aby określić plik projektu jako plik startowy, kliknij go prawym przyciskiem myszy i wybierz polecenie Ustaw jako element startowy.

W programie Visual Studio 2017 w wersji 15.6 lub nowszej zostanie wyświetlony alert, jeśli nie masz określonego zestawu plików uruchamiania. Wcześniejsze wersje programu Visual Studio mogą otworzyć okno Dane wyjściowe z uruchomionym interpreterem języka Python lub okno Dane wyjściowe zostanie otwarte i zamknięte.

Określanie aktywnego środowiska

Jeśli używasz pliku projektu, debuger zawsze rozpoczyna się od aktywnego środowiska języka Python dla projektu. Bieżące aktywne środowisko można zmienić. Aby uzyskać więcej informacji, zobacz Wybieranie środowiska języka Python dla projektu.

Jeśli debugujesz autonomiczny plik kodu w języku Python, program Visual Studio uruchamia skrypt z globalnym środowiskiem domyślnym i bez argumentów.

Ustawianie punktów przerwania

Punkty przerwania zatrzymują wykonywanie kodu w oznaczonym punkcie, aby można było sprawdzić stan programu.

Niektóre punkty przerwania w języku Python mogą być zaskakujące dla deweloperów, którzy pracowali z innymi językami programowania. W języku Python cały plik jest kodem wykonywalnym, dlatego język Python uruchamia plik po załadowaniu do przetwarzania dowolnych definicji klasy najwyższego poziomu lub funkcji. Jeśli punkt przerwania został ustawiony, może się okazać, że debuger przerywa częścią deklaracji klasy. To zachowanie jest poprawne, mimo że czasami jest zaskakujące.

  • Aby ustawić punkt przerwania, wybierz lewy margines edytora kodu lub kliknij prawym przyciskiem myszy wiersz kodu i wybierz pozycję Punkt przerwania Wstaw punkt> przerwania. Czerwona kropka pojawia się w każdym wierszu z ustawionym punktem przerwania.

    Zrzut ekranu przedstawiający sposób wyświetlania punktów przerwania na lewym marginesie pliku kodu w programie Visual Studio.

  • Aby usunąć punkt przerwania, wybierz czerwoną kropkę lub kliknij prawym przyciskiem myszy wiersz kodu i wybierz pozycję Punkt przerwania Usuń punkt> przerwania. Możesz również wyłączyć punkt przerwania, wybierając czerwoną kropkę i wybierając pozycję Punkt przerwania>Wyłącz punkt przerwania.

    Zrzut ekranu przedstawiający sposób wyłączania punktu przerwania na lewym marginesie pliku kodu w programie Visual Studio.

Ustawianie warunków i akcji

Można dostosować warunki wyzwalania punktu przerwania, takie jak przerwanie tylko wtedy, gdy zmienna jest ustawiona na określoną wartość lub zakres wartości.

  • Aby ustawić warunki, kliknij prawym przyciskiem myszy czerwoną kropkę punktu przerwania, wybierz pozycję Warunki. Zostanie otwarte okno dialogowe Ustawienia punktu przerwania.

    W oknie dialogowym można dodać wiele warunków i utworzyć wyrażenia warunkowe przy użyciu kodu języka Python. Aby uzyskać szczegółowe informacje na temat tej funkcji w programie Visual Studio, zobacz Warunki punktu przerwania.

    Zrzut ekranu przedstawiający sposób wybierania opcji konfigurowania warunków punktu przerwania w programie Visual Studio.

  • Dostępne są również opcje ustawiania akcji dla punktu przerwania. Możesz utworzyć komunikat, aby zalogować się do okna Dane wyjściowe i opcjonalnie określić, aby kontynuować wykonywanie automatycznie.

    Zrzut ekranu przedstawiający sposób tworzenia akcji punktu śledzenia dla punktu przerwania w programie Visual Studio.

    Rejestrowanie komunikatu powoduje utworzenie punktu śledzenia, który nie dodaje kodu rejestrowania bezpośrednio do aplikacji.

W zależności od sposobu konfigurowania warunków i akcji punktu przerwania czerwona ikona na lewym marginesie zmienia się, aby wskazać ustawienia. Może zostać wyświetlony kształt kropki, czasomierz zegara lub diament.

Przechodzenie przez kod

Gdy program Visual Studio zatrzymuje wykonywanie kodu w punkcie przerwania, istnieje kilka poleceń, których można użyć, aby przejść przez kod lub uruchomić bloki kodu przed ponownym przerwaniem. Polecenia są dostępne w kilku miejscach w programie Visual Studio, w tym pasek narzędzi Debuger , menu Debugowanie , menu kontekstowe kliknij prawym przyciskiem myszy w edytorze kodu i za pomocą skrótów klawiaturowych.

Poniższa tabela zawiera podsumowanie tych poleceń i zawiera skrót klawiaturowy:

Polecenie Skrót opis
Kontynuuj F5 Uruchom kod, dopóki nie osiągniesz następnego punktu przerwania.
Przechodzenie do F11 Uruchom następną instrukcję i zatrzymaj. Jeśli następna instrukcja jest wywołaniem funkcji, debuger zatrzymuje się w pierwszym wierszu wywoływanej funkcji.
Przechodzenie do kroku F10 Uruchom następną instrukcję, w tym wywołanie funkcji (uruchamiając cały kod) i stosując dowolną wartość zwracaną. To polecenie umożliwia łatwe pomijanie funkcji, których nie trzeba debugować.
Wyjście Shift+F11 Uruchom kod do końca bieżącej funkcji, a następnie przejdź do instrukcji wywołującej. To polecenie jest przydatne, gdy nie trzeba debugować pozostałej części bieżącej funkcji.
Uruchamianie do kursora Ctrl+F10 Uruchom kod do lokalizacji karetki w edytorze. To polecenie umożliwia łatwe pomijanie segmentu kodu, którego nie trzeba debugować.
Ustaw następną instrukcję Ctrl+Shift+F10 Zmień bieżący punkt uruchamiania w kodzie na lokalizację karetki. To polecenie pozwala pominąć segment kodu przed uruchomieniem w ogóle, na przykład wtedy, gdy wiadomo, że kod jest uszkodzony lub generuje niepożądany efekt uboczny.
Pokaż następną instrukcję Alt+Num+\ Wróć do następnej instrukcji, aby uruchomić kod. To polecenie pomaga zlokalizować miejsce w kodzie, w którym debuger jest zatrzymany.

Sprawdzanie i modyfikowanie wartości

Po zatrzymaniu wykonywania kodu w debugerze można sprawdzić i zmodyfikować wartości zmiennych. Możesz również użyć okna Obserwowanie do monitorowania poszczególnych zmiennych i wyrażeń niestandardowych. Aby uzyskać więcej informacji, zobacz Inspekcja zmiennych.

  • Aby wyświetlić wartość przy użyciu funkcji Data Wskazówki podczas debugowania, umieść wskaźnik myszy na dowolnej zmiennej w edytorze. Możesz wybrać wartość zmiennej, aby ją zmienić:

    Zrzut ekranu przedstawiający wartość Data Wskazówki dla zmiennej w debugerze programu Visual Studio.

  • Aby użyć okna Autos, wybierz pozycję Debuguj> autos windows.> To okno zawiera zmienne i wyrażenia zbliżone do bieżącej instrukcji. Możesz kliknąć dwukrotnie kolumnę wartości lub wybrać klawisz F2, aby edytować wartość:

    Zrzut ekranu przedstawiający okno Autos w debugerze programu Visual Studio.

    Aby uzyskać więcej informacji na temat korzystania z okna Autos, zobacz Sprawdzanie zmiennych w oknach Autos i Locals.

  • Aby użyć okna Ustawienia lokalne, wybierz pozycję Debuguj> ustawienia lokalne systemu Windows.> W tym oknie są wyświetlane wszystkie zmienne, które znajdują się w bieżącym zakresie, które można edytować ponownie:

    Zrzut ekranu przedstawiający okno Ustawienia lokalne w debugerze programu Visual Studio.

    Aby uzyskać więcej informacji na temat korzystania z okna Ustawienia lokalne , zobacz Inspekcja zmiennych w oknach Automatyczne i Lokalne.

  • Aby użyć okien Watch, wybierz pozycję Debuguj >zegarek Windows>Watch>1-4. Ta opcja umożliwia wprowadzanie dowolnych wyrażeń języka Python i wyświetlanie wyników. Wyrażenia są ponownie oceniane dla każdego kroku:

    Zrzut ekranu przedstawiający okno Obserwowanie w debugerze programu Visual Studio.

    Aby uzyskać więcej informacji na temat korzystania z okna Zegarek , zobacz Ustawianie zegarka dla zmiennych w oknach Watch i QuickWatch.

  • Aby sprawdzić wartość ciągu, wybierz pozycję Widok (lupa) po prawej stronie wpisu Wartość . Wszystkie strtypy , unicode, bytesi bytearray są dostępne do inspekcji.

    W menu rozwijanym Widok są wyświetlane cztery opcje wizualizacji: Tekst, HTML, XML lub JSON.

    Zrzut ekranu przedstawiający sposób uzyskiwania dostępu do wizualizatorów z poziomu lupy Widok w debugerze programu Visual Studio.

    Po wybraniu wizualizacji w oknie podręcznym zostanie wyświetlona wartość ciągu bez cudzysłów zgodnie z wybranym typem. Możesz wyświetlić ciąg z zawijaniem i przewijaniem, wyróżnianiem składni i widokami drzewa. Te wizualizacje mogą ułatwić debugowanie problemów z długimi i złożonymi ciągami.

Wyświetlanie wyjątków

Jeśli podczas debugowania wystąpi błąd, ale nie masz dla niego procedury obsługi wyjątków, debuger przerywa działanie w punkcie wyjątku:

Zrzut ekranu przedstawiający wyskakujące okienko Wyjątki dla nieobsługiwanego błędu w debugerze programu Visual Studio.

W przypadku wystąpienia błędu można sprawdzić bieżący stan programu, w tym stos wywołań. Jeśli jednak przejdziesz przez kod, proces debugowania będzie nadal zgłaszać wyjątek, dopóki nie zostanie on obsłużony lub program zakończy działanie.

  • Aby wyświetlić rozszerzony widok wyjątków, wybierz pozycję Debuguj>wyjątek systemu Windows>Ustawienia.

    Zrzut ekranu przedstawiający okno Wyjątki Ustawienia w debugerze programu Visual Studio.

    W oknie Wyjątki Ustawienia pole wyboru obok wyjątku określa, czy debuger zawsze przerywa działanie po wystąpieniu tego wyjątku.

  • Aby częściej przerywać dla określonego wyjątku, zaznacz pole wyboru obok wyjątku w oknie Wyjątki Ustawienia.

  • Domyślnie większość wyjątków jest przerywana, gdy nie można odnaleźć programu obsługi wyjątków w kodzie źródłowym. Aby zmienić to zachowanie, kliknij prawym przyciskiem myszy dowolny wyjątek i zmodyfikuj opcję Kontynuuj, gdy nieobsługiwane w kodzie użytkownika. Aby zmniejszyć częstotliwość dla wyjątku, usuń zaznaczenie tej opcji.

  • Aby skonfigurować wyjątek, który nie jest wyświetlany w oknie Wyjątki Ustawienia, wybierz pozycję Dodaj (plus symbol). Wprowadź nazwę wyjątku do obejrzenia. Nazwa musi być zgodna z pełną nazwą wyjątku.

Konfigurowanie opcji debugowania projektu

Domyślnie debuger uruchamia program przy użyciu standardowego modułu uruchamiania języka Python, bez argumentów wiersza polecenia i żadnych innych specjalnych ścieżek ani warunków. Opcje uruchamiania projektu w języku Python można skonfigurować, ustawiając właściwości debugowania.

  • Aby uzyskać dostęp do właściwości debugowania projektu, kliknij prawym przyciskiem myszy projekt języka Python w Eksplorator rozwiązań, wybierz pozycję Właściwości, a następnie wybierz kartę Debugowanie.

    Zrzut ekranu przedstawiający właściwości debugowania projektu języka Python w debugerze programu Visual Studio.

W poniższych sekcjach opisano określone właściwości.

Definiowanie zachowania uruchamiania

W poniższej tabeli wymieniono możliwe wartości dla właściwości Tryb uruchamiania. Użyj tej właściwości, aby zdefiniować zachowanie uruchamiania debugera.

Wartość Opis
Uruchamianie języka Python w warstwie Standardowa Użyj kodu debugowania napisanego w przenośnym języku Python zgodnym z językiem CPython, IronPython i wariantami, takimi jak Stackless Python. Ta opcja zapewnia najlepsze środowisko debugowania czystego kodu w języku Python. Podczas dołączania do uruchomionego python.exe procesu jest używany moduł uruchamiania określony w tej właściwości. Ten moduł uruchamiania udostępnia również debugowanie w trybie mieszanym dla środowiska CPython, co umożliwia bezproblemowe przechodzenie między kodem C/C++ i kodem języka Python.
Uruchamianie sieci Web Uruchom domyślną przeglądarkę podczas uruchamiania i włącz debugowanie szablonów. Aby uzyskać więcej informacji, zobacz sekcję Debugowanie szablonu sieci Web.
Uruchamianie aplikacji internetowej Django Zaimplementuj identyczne zachowanie we właściwości web launcher , ale dla środowiska Django. Użyj tej opcji tylko do celów zgodności z poprzednimi wersjami.
Uruchamianie IronPython (.NET) Użyj debugera platformy .NET, który działa tylko z narzędziem IronPython, ale umożliwia przechodzenie między dowolnym projektem języka .NET, w tym C# i Visual Basic. Ten moduł uruchamiania jest używany w przypadku dołączania do uruchomionego procesu platformy .NET, który hostuje program IronPython.

Definiowanie zachowania przebiegu

W poniższej tabeli opisano właściwości, które można ustawić w celu skonfigurowania działania debugera.

Właściwości opis
Ścieżki wyszukiwania Określ ścieżki wyszukiwania plików i folderów używane przez program Visual Studio dla projektu. Te wartości są zgodne z elementami wyświetlanymi w węźle Ścieżki wyszukiwania projektu w Eksplorator rozwiązań. Chociaż można określić ścieżki wyszukiwania w tym oknie dialogowym, łatwiej jest użyć Eksplorator rozwiązań, gdzie można przeglądać foldery i automatycznie konwertować ścieżki na formularz względny.
Argumenty skryptu Zdefiniuj argumenty do dodania do polecenia programu Visual Studio używane do uruchamiania skryptu i pojawiają się po nazwie pliku skryptu. Pierwszy element wymieniony w wartości jest dostępny dla skryptu jako sys.argv[1], drugi jako sys.argv[2], itd.
Argumenty interpretera Wyświetl listę argumentów, które mają zostać dodane do wiersza polecenia modułu uruchamiania przed nazwą skryptu. Typowe argumenty to -W ... kontrolowanie ostrzeżeń, -O nieznaczne optymalizowanie programu i -u używanie niebuforowanych operacji we/wy. Użytkownicy ironPython mogą używać tego pola do przekazywania -X opcji, takich jak -X:Frames lub -X:MTA.
Ścieżka interpretera Zidentyfikuj ścieżkę interpretera, aby zastąpić ścieżkę skojarzona z bieżącym środowiskiem. Wartość może być przydatna do uruchamiania skryptu z niestandardowym interpreterem.
Zmienne środowiskowe Użyj tej właściwości, aby dodać wpisy formularza <NAME>=\<VALUE>. Program Visual Studio stosuje tę wartość właściwości jako ostatni, na podstawie wszystkich istniejących globalnych zmiennych środowiskowych i po PYTHONPATH ustawieniu zgodnie z ustawieniem Ścieżki wyszukiwania. W związku z tym to ustawienie może służyć do ręcznego przesłaniania dowolnych innych zmiennych.

Praca z oknami interaktywnymi

Istnieją dwa interaktywne okna, których można użyć podczas sesji debugowania: standardowe okno natychmiastowe programu Visual Studio i okno interaktywne debugowania języka Python.

Otwieranie okna natychmiastowego

Możesz użyć standardowego okna natychmiastowego programu Visual Studio, aby szybko ocenić wyrażenia języka Python i sprawdzić lub przypisać zmienne w uruchomionym programie. Aby uzyskać więcej informacji, zobacz Okno natychmiastowe.

  • Aby otworzyć okno Natychmiastowe, wybierz pozycję Debuguj> system Windows>Natychmiast. Możesz również użyć skrótu klawiaturowego Ctrl+Alt+I.

Otwieranie okna Interaktywne debugowanie

Okno Interaktywne debugowanie języka Python oferuje zaawansowane środowisko z pełnym interaktywnym środowiskiem REPL dostępnym podczas debugowania, w tym pisaniem i uruchamianiem kodu. To okno automatycznie łączy się z dowolnym procesem uruchomionym w debugerze przy użyciu modułu uruchamiania języka Python w warstwie Standardowa, w tym procesów dołączonych za pomocą dołączania debugowania>do procesu. Jednak to okno nie jest dostępne w przypadku korzystania z debugowania C/C++ w trybie mieszanym.

  • Aby użyć okna Debugowanie interakcyjne, wybierz pozycję Debuguj interakcyjne debugowanie>systemu Windows>Python (Shift+Alt+I).

    Zrzut ekranu przedstawiający sposób pracy z interaktywnym oknem Debugowanie języka Python w programie Visual Studio.

Okno Debugowanie interakcyjne obsługuje specjalne meta polecenia oprócz standardowych poleceń REPL, zgodnie z opisem w poniższej tabeli:

Polecenie opis
$continue, , $cont$c Uruchom program z bieżącej instrukcji.
$down, $d Przenieś bieżącą ramkę o jeden poziom w dół w ślad stosu.
$frame Wyświetl bieżący identyfikator ramki.
$frame Przełącz bieżącą ramkę na określony identyfikator ramki.
— Wymaga argumentu identyfikatora <> ramki.
$load Załaduj polecenia z pliku i wykonaj je do momentu ukończenia.
$proc Wyświetl bieżący identyfikator procesu.
$proc Przełącz bieżący proces na określony identyfikator procesu.
— Wymaga argumentu identyfikatora <> procesu.
$procs Wyświetl listę aktualnie debugowanych procesów.
$stepin, , $step$s Jeśli to możliwe, przejdź do następnego wywołania funkcji.
$stepout, , $return$r Wyjmij z bieżącej funkcji.
$stepover, , $until$unt Przejdź do następnego wywołania funkcji.
$thread Wyświetl bieżący identyfikator wątku.
$thread Przełącz bieżący wątek na określony identyfikator wątku.
— Wymaga argumentu identyfikatora wątku<.>
$threads Wyświetl listę aktualnie debugowanych wątków.
$up, $u Przenieś bieżącą ramkę o jeden poziom w ślad stosu.
$where, , $w$bt Wyświetl ramki bieżącego wątku.

Standardowe okna debugera, takie jak procesy, wątki i stos wywołań, nie są synchronizowane z oknem Debuguj interakcyjne . Jeśli zmienisz aktywny proces, wątek lub ramkę w oknie Debug Interactive , inne okna debugera nie będą miały wpływu. Podobnie zmiana aktywnego procesu, wątku lub ramki w innych oknach debugera nie ma wpływu na okno Debug interactive .

Korzystanie ze starszego debugera

W zależności od konfiguracji środowiska może być konieczne użycie starszego debugera:

  • Program Visual Studio 2017 w wersji 15.7 lub starszej z językiem Python 2.6, od 3.1 do 3.4 lub IronPython
  • Program Visual Studio 2019 w wersji 16.5 lub nowszej z językiem Python 2.6, od 3.1 do 3.4 lub IronPython
  • ptvsd 3.x i wczesne wersje 4.x

Starszy debuger jest domyślny w programie Visual Studio 2017 w wersji 15.7 lub starszej.

  • Aby użyć starszego debugera, wybierz pozycję Opcje narzędzi>, rozwiń opcje Debugowanie języka Python>i wybierz opcję Użyj starszego debugera.

Obsługa starszych wersji programu Visual Studio lub Python

Program Visual Studio 2017 w wersji 15.8 lub nowszej korzysta z debugera opartego na ptvsd w wersji 4.1 lub nowszej. Program Visual Studio 2019 w wersji 16.5 lub nowszej korzysta z debugera opartego na debugerze. Te dwie wersje debugera są zgodne z językiem Python 2.7 lub Python 3.5 lub nowszym.

Jeśli używasz jednej z tych wersji programu Visual Studio, ale używasz języka Python 2.6, 3.1 do 3.4 lub IronPython, program Visual Studio wyświetla błąd, debuger nie obsługuje tego środowiska języka Python:

Zrzut ekranu przedstawiający komunikat o błędzie debugera

Gdy program Visual Studio zgłasza ten błąd środowiska, należy użyć starszego debugera.

Obsługa starszych wersji ptvsd

Jeśli używasz starszej wersji pliku ptvsd w bieżącym środowisku (na przykład starszej wersji 4.0.x lub wersji 3.x wymaganej do zdalnego debugowania), program Visual Studio może wyświetlić błąd lub ostrzeżenie.

Jeśli środowisko używa pliku ptvsd 3.x, program Visual Studio wyświetla błąd, nie można załadować pakietu debugera:

Zrzut ekranu przedstawiający komunikat o błędzie debugera

Ostrzeżenie: Pakiet debugera jest nieaktualny, pojawia się, gdy używasz starszej wersji pliku ptvsd w wersji 4.x:

Zrzut ekranu przedstawiający komunikat ostrzegawczy debugera

Gdy program Visual Studio zgłasza te błędy środowiska, należy użyć starszego debugera.

Ważne

Mimo że możesz zignorować ostrzeżenie dla niektórych wersji ptvsd, program Visual Studio może nie działać poprawnie.

Zarządzanie instalacją ptvsd

Wykonaj następujące kroki, aby zarządzać instalacją ptvsd:

  1. W oknie Środowiska języka Python przejdź do karty Pakiety.

  2. Wprowadź ciąg ptvsd w polu wyszukiwania i sprawdź zainstalowaną wersję ptvsd:

    Zrzut ekranu przedstawiający sposób sprawdzania wersji ptvsd w oknie Środowiska języka Python.

  3. Jeśli wersja jest niższa niż 4.1.1a9 (wersja dołączona do programu Visual Studio), wybierz znak X z prawej strony pakietu, aby odinstalować starszą wersję. Program Visual Studio używa następnie wersji dołączonej. (Można również odinstalować z poziomu programu PowerShell przy użyciu pip uninstall ptvsd polecenia ).

  4. Alternatywnie możesz zaktualizować pakiet ptvsd do najnowszej wersji, postępując zgodnie z instrukcjami w sekcji Rozwiązywanie problemów ze scenariuszami debugowania.

Rozwiązywanie problemów ze scenariuszami debugowania

W poniższych scenariuszach opisano inne opcje rozwiązywania problemów dotyczące konfiguracji debugowania.

Uaktualnianie ptvsd dla programu Visual Studio 2019

Jeśli masz problemy z debugerem w programie Visual Studio 2019 w wersji 16.4 lub starszej, najpierw uaktualnij wersję debugera w następujący sposób:

  1. W oknie Środowiska języka Python przejdź do karty Pakiety.

  2. Wprowadź ciąg ptvsd --upgrade w polu wyszukiwania, a następnie wybierz pozycję Uruchom polecenie: pip install ptvsd --upgrade. (Możesz również użyć tego samego polecenia z poziomu programu PowerShell).

    Zrzut ekranu przedstawiający sposób wybierania polecenia ptvsd upgrade w oknie Środowiska języka Python.

    Jeśli problemy będą się powtarzać, utwórz problem w repozytorium GitHub PTVS.

    Uwaga

    W przypadku programu Visual Studio 2019 w wersji 16.5 lub nowszej debugpy jest częścią obciążenia języka Python programu Visual Studio i jest aktualizowany wraz z programem Visual Studio.

Włączanie rejestrowania debugera

W trakcie badania problemu z debugerem firma Microsoft może poprosić Cię o włączenie i zebranie dzienników debugera w celu ułatwienia diagnostyki.

Następujące kroki umożliwiają debugowanie w bieżącej sesji programu Visual Studio:

  1. Otwórz okno polecenia w programie Visual Studio, wybierając pozycję Wyświetl>inne okno poleceń systemu Windows.>

  2. Podaj następujące polecenie:

    DebugAdapterHost.Logging /On /OutputWindow
    
  3. Rozpocznij debugowanie i wykonaj kroki niezbędne do odtworzenia problemu. W tym czasie dzienniki debugowania są wyświetlane w oknie Dane wyjściowe w obszarze Dziennik hosta karty debugowania. Następnie możesz skopiować dzienniki z tego okna i wkleić je do problemu, wiadomości e-mail w usłudze GitHub itd.

    Zrzut ekranu przedstawiający dane wyjściowe rejestrowania debugera w oknie Dane wyjściowe w programie Visual Studio.

  4. Jeśli program Visual Studio przestaje odpowiadać lub nie możesz uzyskać dostępu do okna Dane wyjściowe , uruchom ponownie program Visual Studio, otwórz okno polecenia i wprowadź następujące polecenie:

    DebugAdapterHost.Logging /On
    
  5. Rozpocznij debugowanie i ponownie odtwórz problem. Dzienniki debugera znajdują się w lokalizacji %temp%\DebugAdapterHostLog.txt.