Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Debugowanie lokalnej aplikacji usługi Service Fabric
Ważne
Debugowanie zdalne nie jest obsługiwane w programie VS 2022
Możesz zaoszczędzić czas i pieniądze, wdrażając i debugując aplikację usługi Azure Service Fabric w lokalnym klastrze deweloperów komputerów. Program Visual Studio 2019 lub 2015 może wdrożyć aplikację w klastrze lokalnym i automatycznie połączyć debuger ze wszystkimi wystąpieniami aplikacji. Aby połączyć debuger, należy uruchomić program Visual Studio jako administrator.
Uruchom lokalny klaster deweloperów, wykonując kroki opisane w temacie Konfigurowanie środowiska programistycznego usługi Service Fabric.
Naciśnij F5 lub kliknij pozycję Debuguj>rozpocznij debugowanie.
Ustaw punkty przerwania w kodzie i przejdź przez aplikację, klikając polecenia w menu Debugowanie .
Uwaga
Program Visual Studio podłącza się do wszystkich instancji twojej aplikacji. Podczas przechodzenia przez kod punkty przerwania mogą zostać uderzone przez wiele procesów, co prowadzi do jednoczesnych sesji. Spróbuj wyłączyć punkty przerwania po ich aktywacji, ustawiając warunek dla każdego punktu przerwania na identyfikator wątku lub przy użyciu zdarzeń diagnostycznych.
Okno Zdarzenia diagnostyczne zostanie automatycznie otwarte, aby można było wyświetlać zdarzenia diagnostyczne w czasie rzeczywistym.
Możesz również otworzyć okno Zdarzenia diagnostyczne w Eksploratorze Chmury. W obszarze Service Fabric kliknij prawym przyciskiem myszy dowolny węzeł i wybierz polecenie Wyświetl ślady przesyłania strumieniowego.
Jeśli chcesz filtrować ślady dla określonej usługi lub aplikacji, włącz streamowanie śladów dla tej konkretnej usługi lub aplikacji.
Zdarzenia diagnostyczne można zobaczyć w automatycznie wygenerowanym pliku ServiceEventSource.cs i są wywoływane z kodu aplikacji.
ServiceEventSource.Current.ServiceMessage(this, "My ServiceMessage with a parameter {0}", result.Value.ToString());
Okno Zdarzenia diagnostyczne obsługuje filtrowanie, wstrzymanie i inspekcję zdarzeń w czasie rzeczywistym. Filtr to proste wyszukiwanie ciągu komunikatu o zdarzeniu, w tym jego zawartość.
Debugowanie usług przypomina debugowanie dowolnej innej aplikacji. Punkty przerwania są zwykle ustawiane za pomocą programu Visual Studio w celu łatwego debugowania. Mimo że kolekcje Reliable Collection są replikowane w wielu węzłach, nadal implementują funkcję IEnumerable. Ta implementacja oznacza, że możesz użyć widoku wyników w programie Visual Studio podczas debugowania, aby zobaczyć, co jest przechowywane wewnątrz. W tym celu ustaw punkt przerwania w dowolnym miejscu w kodzie.
Uruchamianie skryptu w ramach debugowania
W niektórych scenariuszach może być konieczne uruchomienie skryptu w ramach uruchamiania sesji debugowania (np. w przypadku braku korzystania z usług domyślnych).
W programie Visual Studio można dodać plik o nazwie Start-Service.ps1 w folderze Scripts projektu aplikacji usługi Service Fabric (.sfproj). Ten skrypt zostanie wywołany po utworzeniu aplikacji w klastrze lokalnym.
Debugowanie zdalnej aplikacji usługi Service Fabric
Jeśli aplikacje usługi Service Fabric są uruchomione w klastrze usługi Service Fabric na platformie Azure, możesz zdalnie debugować te aplikacje bezpośrednio z poziomu programu Visual Studio.
Uwaga
Ta funkcja wymaga zestawu Service Fabric SDK 2.0 i zestawu Azure SDK dla platformy .NET 2.9.
Ostrzeżenie
Debugowanie zdalne jest przeznaczone dla scenariuszy tworzenia i testowania, a nie do użycia w środowiskach produkcyjnych ze względu na wpływ na uruchomione aplikacje.
Przejdź do klastra w eksploratorze chmury. Kliknij prawym przyciskiem myszy i wybierz pozycję Włącz debugowanie
Ta akcja spowoduje rozpoczęcie procesu włączania rozszerzenia zdalnego debugowania w węzłach klastra i wymaganych konfiguracji sieci.
Kliknij prawym przyciskiem myszy węzeł klastra w Eksploratorze chmury, a następnie wybierz pozycję Dołącz debuger
W oknie dialogowym Dołączanie do procesu wybierz proces, który chcesz debugować, a następnie kliknij przycisk Dołącz.
Nazwa procesu, do którego chcesz dołączyć, jest równa nazwie zestawu projektu usługowego.
Debugger dołączy się do wszystkich węzłów uruchamiających proces.
W przypadku debugowania usługi bezstanowej wszystkie wystąpienia usługi na wszystkich węzłach są częścią sesji debugowania.
Jeśli debugujesz usługę stanową, tylko podstawowa replika dowolnej partycji będzie aktywna i w związku z tym przechwycona przez debuger. Jeśli replika podstawowa zostanie przeniesiona podczas sesji debugowania, przetwarzanie tej repliki będzie nadal częścią sesji debugowania.
Aby przechwycić tylko odpowiednie partycje lub wystąpienia danej usługi, można użyć warunkowych punktów przerwania, aby przerwać tylko określoną partycję lub wystąpienie.
Uwaga
Obecnie nie obsługujemy debugowania klastra usługi Service Fabric z wieloma wystąpieniami tej samej nazwy pliku wykonywalnego usługi.
Po zakończeniu debugowania aplikacji możesz wyłączyć rozszerzenie debugowania zdalnego, klikając prawym przyciskiem myszy klaster w Eksploratorze chmury i wybierając polecenie Wyłącz debugowanie
Transmisja strumieniowa śladów z węzła zdalnego klastra
Możesz również przesyłać strumieniowo ślady bezpośrednio ze zdalnego węzła klastra do programu Visual Studio. Ta funkcja umożliwia przesyłanie strumieniowe zdarzeń śledzenia ETW generowanych w węźle klastra usługi Service Fabric.
Uwaga
Ta funkcja wymaga zestawu Service Fabric SDK 2.0 i zestawu Azure SDK dla platformy .NET 2.9. Ta funkcja obsługuje tylko klastry działające na platformie Azure.
Ostrzeżenie
Śledzenie przesyłania strumieniowego jest przeznaczone dla scenariuszy tworzenia i testowania, a nie do użycia w środowiskach produkcyjnych ze względu na wpływ na uruchomione aplikacje. W scenariuszu produkcyjnym należy polegać na przesyłaniu zdarzeń przy użyciu usługi Azure Diagnostics.
Przejdź do swojego klastra w Eksploratorze chmury. Kliknij prawym przyciskiem myszy i wybierz Włącz śledzenie strumieniowe
Ta akcja spowoduje rozpoczęcie procesu włączania rozszerzenia śledzenia przesyłania strumieniowego w węzłach klastra, a także wymaganych konfiguracji sieci.
Rozwiń element Węzły w Eksploratorze chmury, kliknij prawym przyciskiem myszy węzeł, z którego chcesz przesyłać strumieniowo ślady, a następnie wybierz polecenie Wyświetl ślady przesyłania strumieniowego
Powtórz krok 2 dla tylu węzłów, z których chcesz wyświetlić ślady. Każdy strumień węzłów zostanie wyświetlony w dedykowanym oknie.
Teraz możesz zobaczyć ślady emitowane przez Service Fabric oraz inne usługi. Jeśli chcesz filtrować zdarzenia, aby wyświetlić tylko określoną aplikację, po prostu wpisz nazwę aplikacji w filtrze.
Po zakończeniu przesyłania strumieniowego śladów z klastra, możesz wyłączyć zdalne przesyłanie strumieniowe, klikając prawym przyciskiem myszy klaster w Cloud Explorer i wybierając Wyłącz ślady przesyłania strumieniowego