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:
- Zdalne debugowanie systemu Linux
- Debugowanie języka Python/C++ w trybie mieszanym
- Symbole debugowania w trybie mieszanym
Wymagania wstępne
Program Visual Studio zainstalowany z obsługą obciążeń języka Python. Aby uzyskać więcej informacji, zobacz Instalowanie obsługi języka Python w programie Visual Studio.
Kod języka Python do użycia z debugerem.
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.
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.
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.
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.
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 |
---|---|---|
Zatrzymaj | Shift + F5 | Zatrzymaj sesję debugowania. |
Restart | Ctrl + Shift + F5 | Uruchom ponownie bieżącą sesję debugowania. |
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 Etykietki danych podczas debugowania, umieść wskaźnik myszy na dowolnej zmiennej w edytorze. Możesz wybrać wartość zmiennej, aby ją zmienić:
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ć F2, aby edytować wartość:
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:
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:
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
str
typy ,unicode
,bytes
ibytearray
są dostępne do inspekcji.W menu rozwijanym Widok są wyświetlane cztery opcje wizualizacji: Tekst, HTML, XML lub JSON.
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:
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>ustawienia wyjątków systemu Windows.>
W oknie Ustawienia wyjątków pole wyboru obok wyjątku steruje tym, 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 Ustawienia wyjątków.
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 Ustawienia wyjątku, 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.
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).
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:
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:
Ostrzeżenie: Pakiet debugera jest nieaktualny, pojawia się, gdy używasz starszej wersji pliku ptvsd w wersji 4.x:
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:
W oknie Środowiska języka Python przejdź do karty Pakiety.
Wprowadź ciąg ptvsd w polu wyszukiwania i sprawdź zainstalowaną wersję ptvsd:
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 ).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:
W oknie Środowiska języka Python przejdź do karty Pakiety.
Wprowadź ciąg ptvsd --upgrade w polu wyszukiwania, a następnie wybierz pozycję Uruchom polecenie: install ptvsd --upgrade. (Możesz również użyć tego samego polecenia z poziomu programu PowerShell).
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:
Otwórz okno polecenia w programie Visual Studio, wybierając pozycję Wyświetl>inne okno poleceń systemu Windows.>
Podaj następujące polecenie:
DebugAdapterHost.Logging /On /OutputWindow
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.
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
Rozpocznij debugowanie i ponownie odtwórz problem. Dzienniki debugera znajdują się w lokalizacji
%temp%\DebugAdapterHostLog.txt
.