Udostępnij przez


Debugowanie na żywo ASP.NET usług Azure Kubernetes Services przy użyciu debugera migawki

Uwaga / Notatka

Debugowanie migawek zostało przestarzałe i nie będzie już dostępne w najnowszych wersjach programu Visual Studio 2022 i nowszych wersji. Chociaż nie ma dokładnego zastąpienia, istnieją inne narzędzia, które mogą zapewnić pomocną diagnostykę:

Narzędzie Snapshot Debugger wykonuje migawkę aplikacji działających w środowisku produkcyjnym w momencie, gdy wykonuje się kod, który cię interesuje. Aby instrukować debugger o utworzeniu migawki, należy ustawić punkty przechwytywania i punkty logowania w kodzie. Debuger pozwala zobaczyć dokładnie, co poszło nie tak, bez wpływu na ruch aplikacji produkcyjnej. Debuger migawek może pomóc znacznie skrócić czas rozwiązywania problemów występujących w środowiskach produkcyjnych.

Punkty przyciągania i punkty rejestrowania są podobne do punktów przerwania, ale w przeciwieństwie do punktów przerwania punkty przyciągania nie zatrzymują działania aplikacji. Zazwyczaj przechwytywanie migawki w punkcie zatrzymania trwa od 10 do 20 milisekund.

W tym samouczku nauczysz się następujących rzeczy:

  • Uruchom debuger migawek
  • Ustaw punkt przyciągania i wyświetl migawkę
  • Ustaw punkt dziennika

Wymagania wstępne

  • Narzędzie Snapshot Debugger dla usług Azure Kubernetes Services jest dostępne tylko dla programu Visual Studio 2019 Enterprise lub nowszego z pakietem roboczym Programowanie na platformie Azure. (Na karcie Poszczególne składniki znajduje się on w obszarze Debugowanie i testowanie>Debuger migawek).

    Jeśli nie jest jeszcze zainstalowany, zainstaluj program Visual Studio 2019 Enterprise.

  • Kolekcja migawek jest dostępna dla następujących aplikacji internetowych usługi Azure Kubernetes Services:

Otwórz projekt i uruchom narzędzie Snapshot Debugger

  1. Otwórz projekt, który chcesz debugować przed zrobieniem migawki.

    Ważne

    Aby przeprowadzić debugowanie migawek, musisz otworzyć tę samą wersję kodu źródłowego , która została opublikowana w usłudze Azure Kubernetes.

  2. Wybierz >. Wybierz zasób usługi AKS, na który wdrażana jest aplikacja internetowa, oraz konto usługi Azure Storage, a następnie kliknij Dołącz. Narzędzie Snapshot Debugger obsługuje również usługi Azure App Service i Azure Virtual Machines (VM) i zestawy skalowania maszyn wirtualnych.

    Uruchamianie debugera migawek z menu Debugowanie

    Wybieranie zasobu platformy Azure

    Uwaga / Notatka

    (Program Visual Studio 2019 w wersji 16.2 lub nowszej) Narzędzie Snapshot Debugger włączyło obsługę chmury platformy Azure. Upewnij się, że zarówno zasób platformy Azure, jak i wybrane konto usługi Azure Storage pochodzą z tej samej chmury. Jeśli masz pytania dotyczące konfiguracji zgodności platformy Azure przedsiębiorstwa, skontaktuj się z administratorem platformy Azure.

Program Visual Studio jest teraz w trybie debugowania migawek.

Tryb debugowania migawek

Okno Moduły pokazuje, kiedy wszystkie moduły zostały załadowane dla usługi Azure App Service (wybierz pozycję Debuguj > moduły systemu Windows>, aby otworzyć to okno).

Sprawdź okno Modułów

Ustaw punkt przyciągania

  1. W edytorze kodu kliknij lewy margines obok wiersza kodu, który cię interesuje, aby ustawić punkt kontrolny. Upewnij się, że jest to kod, który zostanie wykonany.

    Ustaw punkt przyciągania

  2. Kliknij Rozpocznij kolekcję, aby włączyć punkt zakotwiczenia.

    Włącz punkt przyciągania

    Wskazówka

    Nie można przechodzić krokowo podczas wyświetlania migawki, ale możesz umieścić wiele punktów zatrzymania w kodzie, aby śledzić wykonanie w różnych liniach kodu. Jeśli w kodzie istnieje wiele punktów przechwytywania, narzędzie Snapshot Debugger zapewnia, że odpowiednie migawki pochodzą z tej samej sesji użytkownika końcowego. Debuger migawki robi to nawet wtedy, gdy z aplikacji korzysta duża liczba użytkowników.

Zrób migawkę

Po ustawieniu punktu przyciągania można ręcznie wygenerować migawkę, przechodząc do widoku przeglądarki witryny internetowej i uruchamiając wiersz kodu oznaczonego lub czekając na wygenerowanie go przez użytkowników na podstawie użycia witryny.

Inspekcja danych migawek

  1. Gdy punkt przyciągania zostanie trafiony, w oknie Narzędzia diagnostyczne zostanie wyświetlona migawka. Aby otworzyć to okno, wybierz Debug > Windows > Pokaż narzędzia diagnostyczne.

    Otwórz punkt przyciągania

  2. Kliknij dwukrotnie punkt przyciągania, aby otworzyć migawkę w edytorze kodu.

    Przegląd danych migawek

    W tym widoku możesz umieścić wskaźnik myszy na zmiennych, aby wyświetlić etykietki danych, użyć okien Lokalnych, Obserwatorów i Stosu Wywołań, a także oceniać wyrażenia.

    Sama witryna internetowa jest nadal aktywna, a użytkownicy końcowi nie odczuwają skutków. Domyślnie przechwytywana jest tylko jedna migawka na punkt kontrolny: po przechwyceniu migawki punkt kontrolny automatycznie się wyłącza. Jeśli chcesz przechwycić inną migawkę w punkcie zatrzymania, możesz ponownie włączyć punkt zatrzymania, klikając Aktualizuj kolekcję.

Możesz także dodać więcej punktów przyciągania do swojej aplikacji i włączyć je, używając przycisku Aktualizuj kolekcję.

Potrzebujesz pomocy? Zobacz Rozwiązywanie problemów i znane problemy oraz FAQ dotyczące debugowania migawek.

Ustaw warunkowy punkt kontrolny

Jeśli trudno jest odtworzyć określony stan w aplikacji, rozważ użycie warunkowego punktu przechwytywania. Warunkowe punkty przyciągania ułatwiają kontrolowanie, kiedy należy wykonać migawkę, na przykład gdy zmienna zawiera określoną wartość, którą chcesz sprawdzić. Warunki można ustawić przy użyciu wyrażeń, filtrów lub liczby trafień.

Aby utworzyć warunkowy punkt zaczepienia

  1. Kliknij prawym przyciskiem myszy ikonę punktu przyciągania (pusta kula) i wybierz pozycję Ustawienia.

    Wybieranie ustawień

  2. W oknie ustawień punktu zatrzaskowego wpisz wyrażenie.

    Wpisz wyrażenie

    Na poprzedniej ilustracji migawka jest wykonywana tylko dla punktu kontrolnego, gdy visitor.FirstName == "Dan".

Ustaw punkt dziennika

Oprócz robienia migawki, gdy punkt zatrzymania zostanie osiągnięty, można także skonfigurować punkt zatrzymania do rejestrowania komunikatu (czyli utworzenia punktu rejestracji). Punkty dziennika można ustawić bez konieczności ponownego wdrażania aplikacji. Punkty logowania są wykonywane wirtualnie i nie wpływają na działanie uruchomionej aplikacji ani nie powodują skutków ubocznych.

Aby utworzyć punkt dziennika

  1. Kliknij prawym przyciskiem myszy ikonę punktu przyciągania (niebieski sześciokąt), a następnie wybierz pozycję Ustawienia.

  2. W oknie ustawień punktu przyciągania wybierz pozycję Akcje.

    Utwórz punkt dziennika

  3. W polu Komunikat możesz wprowadzić nowy komunikat dziennika, który chcesz zarejestrować. Zmienne można również ocenić w komunikacie dziennika, umieszczając je wewnątrz nawiasów klamrowych.

    Jeśli wybierzesz Wyślij do okna danych wyjściowych, to gdy punkt dziennika zostanie osiągnięty, komunikat pojawi się w oknie Narzędzia diagnostyczne.

    Dane punktu logowania w oknie Narzędzi diagnostycznych

    Jeśli wybierzesz opcję Wyślij do dziennika aplikacji, kiedy punkt dziennika zostanie osiągnięty, komunikat pojawi się wszędzie tam, gdzie możesz zobaczyć komunikaty z System.Diagnostics.Trace (lub ILogger w .NET Core), na przykład w App Insights.

W tym samouczku przedstawiono sposób używania debugera migawek dla usługi Azure Kubernetes. Możesz przeczytać więcej szczegółów na temat tej funkcji.