Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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
Debuger migawek dla maszyn wirtualnych platformy Azure i zestawów skalowania maszyn wirtualnych platformy Azure jest dostępny 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 Virtual Machines\Virtual Machine Scale Sets:
- Aplikacje ASP.NET działające w środowisku .NET Framework 4.6.1 lub nowszym.
- ASP.NET Core aplikacje działające na platformie .NET Core 2.0 lub nowszej w systemie Windows.
Uwaga / Notatka
Program Visual Studio Enterprise uruchomiony w 32-bitowym systemie Windows nie będzie mógł wyświetlać migawek.
Otwórz projekt i uruchom narzędzie Snapshot Debugger
Otwórz projekt, który chcesz debugować przed zrobieniem migawki.
Ważne
Aby przeprowadzić debugowanie zrzutu, musisz otworzyć tę samą wersję kodu źródłowego, która jest opublikowana w usłudze Azure Virtual Machine\Virtual Machine Scale Set.
Wybierz >. Wybierz maszynę wirtualną lub zestaw skalowania maszyn wirtualnych platformy Azure, na którym wdrożono aplikację internetową, oraz konto usługi Azure Storage, a następnie kliknij Dołącz. Narzędzie Snapshot Debugger obsługuje również usługi Azure Kubernetes Service i Azure App Service.
Ważne
Gdy po raz pierwszy wybierzesz Dołącz debuger migawek dla swojej maszyny wirtualnej, usługa IIS zostanie automatycznie uruchomiona ponownie. Kiedy po raz pierwszy wybierzesz opcję Dołącz debuger migawek dla zestawów skalowania maszyn wirtualnych, konieczne jest ręczne uaktualnienie każdego wystąpienia tych zestawów.
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.
Metadane modułów nie zostaną początkowo aktywowane, przejdź do aplikacji internetowej, a przycisk Rozpocznij kolekcję stanie się aktywny. Program Visual Studio jest teraz w trybie debugowania migawek.
Uwaga / Notatka
W przypadku usługi VMSS użytkownik musi ręcznie zaktualizować instancje w skalowanych zestawach maszyn wirtualnych po pierwszym dołączeniu debugera migawek.
Okno Moduły pokazuje, kiedy wszystkie moduły zostały załadowane dla maszyny wirtualnej platformy Azure\zestawu skalowania maszyn wirtualnych (wybierz Debuguj > systemu Windows moduły>, aby otworzyć to okno).
Ustaw punkt przyciągania
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.
Kliknij Rozpocznij kolekcję, aby włączyć punkt zakotwiczenia.
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
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.
Kliknij dwukrotnie punkt przyciągania, aby otworzyć migawkę w edytorze kodu.
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
Kliknij prawym przyciskiem myszy ikonę punktu przyciągania (pusta kula) i wybierz pozycję Ustawienia.
W oknie ustawień punktu zatrzaskowego 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
Kliknij prawym przyciskiem myszy ikonę punktu przyciągania (niebieski sześciokąt), a następnie wybierz pozycję Ustawienia.
W oknie ustawień punktu przyciągania wybierz pozycję Akcje.
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.
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(lubILoggerw .NET Core), na przykład w App Insights.
Treści powiązane
W tym samouczku nauczyłeś się jak używać Snapshot Debuggera dla maszyn wirtualnych Azure oraz zestawów skalowania maszyn wirtualnych. Możesz przeczytać więcej szczegółów na temat tej funkcji.