Debugowanie migawek wyjątków w aplikacjach .NET
Gdy wystąpi wyjątek, możesz automatycznie zebrać migawkę debugowania z aktywnej aplikacji internetowej. Migawka debugowania pokazuje stan kodu źródłowego i zmiennych w momencie zgłoszenia wyjątku.
Debuger migawek w usłudze Application Insights:
- Monitoruje dzienniki generowane przez system z poziomu aplikacji internetowej.
- Zbiera migawki w wyjątkach zgłaszanych najczęściej.
- Zawiera informacje potrzebne do diagnozowania problemów w środowisku produkcyjnym.
Aby użyć debugera migawek, wykonaj następujące zadania:
- Uwzględnij pakiet NuGet modułu zbierającego migawki w aplikacji.
- Konfigurowanie parametrów kolekcji w programie
ApplicationInsights.config
.
Jak działają migawki
Debuger migawek jest implementowany jako procesor telemetrii usługi Application Insights. Po uruchomieniu aplikacji procesor telemetrii Snapshot Debugger jest dodawany do potoku dzienników generowanych przez system aplikacji.
Za każdym razem, gdy aplikacja wywołuje wyjątek TrackException, narzędzie Snapshot Debugger oblicza identyfikator problemu z typu zgłaszanego wyjątku i metody zgłaszania.
Za każdym razem, gdy aplikacja wywołuje TrackException
metodę , licznik jest zwiększany dla odpowiedniego identyfikatora problemu. Gdy licznik osiągnie ThresholdForSnapshotting
wartość, identyfikator problemu zostanie dodany do planu kolekcji.
Narzędzie Snapshot Debugger monitoruje również wyjątki w miarę ich zgłaszania przez subskrybowanie zdarzenia AppDomain.CurrentDomain.FirstChanceException . Gdy to zdarzenie jest uruchamiane, identyfikator problemu wyjątku jest obliczany i porównywany z identyfikatorami problemów w planie kolekcji.
Jeśli istnieje dopasowanie, zostanie utworzona migawka uruchomionego procesu. Migawka ma przypisany unikatowy identyfikator, a wyjątek jest oznaczany tym identyfikatorem. Po powrocie FirstChanceException
programu obsługi zgłoszony wyjątek jest przetwarzany normalnie. W końcu wyjątek ponownie osiągnie metodę TrackException
. Jest on raportowany do usługi Application Insights wraz z identyfikatorem migawki.
Główny proces nadal działa i obsługuje ruch do użytkowników z niewielką przerwą. W międzyczasie migawka jest przekazywana do procesu przekazywania migawek. Narzędzie do przekazywania migawek tworzy minidump i przekazuje go do usługi Application Insights wraz z dowolnymi odpowiednimi plikami symboli (pdb).
Porady dotyczące tworzenia migawek:
- Migawka procesu jest wstrzymanym klonem uruchomionego procesu.
- Tworzenie migawki trwa około 10 milisekund do 20 milisekund.
- Wartość domyślna parametru
ThresholdForSnapshotting
to 1. Ta wartość jest również minimalna. Aplikacja musi wyzwolić ten sam wyjątek dwa razy przed utworzeniem migawki. - Ustaw wartość
IsEnabledInDeveloperMode
natrue
, jeśli chcesz wygenerować migawki podczas debugowania w programie Visual Studio. - Szybkość tworzenia migawki jest ograniczona
SnapshotsPerTenMinutesLimit
przez ustawienie. Domyślnie limit to jedna migawka co 10 minut. - Nie można przekazać więcej niż 50 migawek dziennie.
Obsługiwane aplikacje i środowiska
W tej sekcji wymieniono obsługiwane aplikacje i środowiska.
Aplikacje
Kolekcja migawek jest dostępna dla:
- .NET Framework wersji 4.6.2 i nowszych.
- Platforma .NET 6.0 lub nowsza w systemie Windows.
Środowiska
Obsługiwane są następujące środowiska:
- Azure App Service
- Azure Functions
- Usługa Azure Cloud Services z rodziną systemu operacyjnego 4 lub nowszą
- Usługa Azure Service Fabric uruchomiona w systemie Windows Server 2012 R2 lub nowszym
- Usługi Azure Virtual Machines i Azure Virtual Machine Scale Sets z systemem Windows Server 2012 R2 lub nowszym
- Lokalne maszyny wirtualne lub fizyczne z systemem Windows Server 2012 R2 lub nowszym albo Windows 8.1 lub nowszym
Uwaga
Aplikacje klienckie (na przykład WPF, Windows Forms lub UWP) nie są obsługiwane.
Jeśli włączono narzędzie Snapshot Debugger, ale nie widzisz migawek, zobacz Przewodnik rozwiązywania problemów.
Wymagane uprawnienia
Dostęp do migawek jest chroniony przez kontrolę dostępu opartą na rolach platformy Azure. Aby sprawdzić migawkę, należy najpierw dodać element do roli debugera migawek usługi Application Insights . Właściciele subskrypcji mogą przypisać tę rolę poszczególnym użytkownikom lub grupom dla docelowej migawki usługi Application Insights.
Aby uzyskać więcej informacji, zobacz Przypisywanie ról platformy Azure przy użyciu Azure Portal.
Ważne
Migawki mogą zawierać dane osobowe lub inne poufne informacje w wartościach zmiennych i parametrów. Dane migawek są przechowywane w tym samym regionie co zasób usługi Application Insights.
Ograniczenia
W tej sekcji omówiono ograniczenia dotyczące debugera migawek.
Przechowywanie danych
Migawki debugowania są przechowywane przez 15 dni. Domyślne zasady przechowywania danych są ustawiane dla poszczególnych aplikacji. Jeśli chcesz zwiększyć tę wartość, możesz poprosić o zwiększenie, otwierając zgłoszenie do pomocy technicznej w Azure Portal. Dla każdego wystąpienia usługi Application Insights dozwolona jest maksymalna liczba 50 migawek dziennie.
Symbole publikowania
Debuger migawek wymaga plików symboli na serwerze produkcyjnym w celu dekodowania zmiennych i zapewnienia środowiska debugowania w programie Visual Studio.
Wersja 15.2 (lub nowsza) programu Visual Studio 2017 domyślnie publikuje symbole kompilacji wydania podczas publikowania w App Service. W poprzednich wersjach należy dodać następujący wiersz do pliku profilu .pubxml
publikowania, aby symbole zostały opublikowane w trybie wydania:
<ExcludeGeneratedDebugSymbol>False</ExcludeGeneratedDebugSymbol>
W przypadku usługi Azure Compute i innych typów upewnij się, że pliki symboli znajdują się w tym samym folderze głównej aplikacji .dll (zazwyczaj wwwroot/bin
). Lub muszą być dostępne w bieżącej ścieżce.
Aby uzyskać więcej informacji na temat różnych dostępnych opcji symboli, zobacz dokumentację programu Visual Studio. Aby uzyskać najlepsze wyniki, zalecamy użycie opcji Full, Portable lub Embedded.
Zoptymalizowane kompilacje
W niektórych przypadkach zmiennych lokalnych nie można wyświetlić w kompilacjach wydania z powodu optymalizacji stosowanych przez kompilator JIT.
Jednak w App Service moduł zbierający migawki może deoptymalizować metody zgłaszania, które są częścią planu kolekcji.
Porada
Zainstaluj rozszerzenie witryny usługi Application Insights w wystąpieniu App Service, aby uzyskać obsługę deoptymalizacji.
Informacje o wersji programu Microsoft.ApplicationInsights.SnapshotCollector
Ten artykuł zawiera informacje o Microsoft.ApplicationInsights.SnapshotCollector
wersji pakietu NuGet dla aplikacji platformy .NET, który jest używany przez debuger migawek usługi Application Insights.
Dowiedz się więcej o debugerze migawek usługi Application Insights dla aplikacji platformy .NET.
W przypadku raportów o usterce i opinii otwórz problem w usłudze GitHub.
Uwaga
31 marca 2025 r. zostanie zakończone świadczenie pomocy technicznej dla pozyskiwania klucza instrumentacji. Pozyskiwanie klucza instrumentacji będzie nadal działać, ale nie będziemy już zapewniać aktualizacji ani obsługi funkcji. Przejście do parametrów połączenia w celu skorzystania z nowych możliwości.
1.4.4
Wydanie punktu w celu rozwiązania problemów zgłaszanych przez użytkownika.
Poprawki błędów
Naprawiono wyjątek podczas wyodrębniania składników natywnych podczas korzystania z aplikacji z jednym plikiem.
Zmiany
- Obniżone komunikaty o błędach skanowania pdB z błędu do ostrzeżenia.
- Zaktualizowano msdia140.dll.
- Unikaj nawiązywania połączenia z usługą, jeśli debuger jest wyłączony za pośrednictwem ustawień rozszerzenia lokacji.
1.4.3
Wydanie punktu w celu rozwiązania problemów zgłaszanych przez użytkownika.
Poprawki błędów
- Naprawiono: Ukrywanie zależności IMDS z trackera zależności.
- Naprawiono wyjątek ArgumentException: telemetryProcessorTypedoes nie implementuje elementu ITelemetryProcessor..
Moduł zbierający migawki używany za pośrednictwem zestawu SDK nie jest obsługiwany, gdy funkcja międzyoperacyjna jest włączona. Zobacz Więcej nieobsługiwanych scenariuszy.
1.4.2
Wydanie punktu w celu rozwiązania problemu zgłaszanej przez użytkownika usterki.
Poprawki błędów
Naprawiono wyjątek ArgumentException: Delegaty muszą być tego samego typu.
1.4.1
Wydanie punktu w celu odwrócenia zmiany powodującej niezgodność wprowadzonej w wersji 1.4.0.
Poprawki błędów
Nie można odnaleźć metody stałej w zadaniach WebJob.
1.4.0
Rozwiązano wiele ulepszeń i dodano obsługę uwierzytelniania usługi Azure Active Directory (Azure AD) na potrzeby pozyskiwania usługi Application Insights.
Zmiany
- Zmniejszono rozmiar pakietu modułu zbierającego migawki o 60% z 10,34 MB do 4,11 MB.
- Docelowy netstandard2.0 tylko w module zbierającym migawki.
- Zależność zestawu SDK usługi Application Insights została podniesiona do wersji 2.15.0.
- Dodano z powrotem
MinidumpWithThreadInfo
podczas zapisywania zrzutów. - Dodano
CompatibilityVersion
element w celu poprawienia synchronizacji między agentem modułu zbierającego migawki a modułem przekazującym migawki w przypadku zmian powodujących niezgodność. - Zmieniono
SnapshotUploader
algorytm nazewnictwa logFile, aby uniknąć nadmiernego we/wy pliku w App Service. - Dodano identyfikator pid, nazwę roli i czas rozpoczęcia procesu w celu przekazania metadanych obiektu blob.
- Używane
System.Diagnostics.Process
tam, gdzie to możliwe, w module zbierającym migawki i module przekazującym migawki.
Nowe funkcje
Dodano uwierzytelnianie Azure AD do elementu SnapshotCollector
. Aby dowiedzieć się więcej na temat uwierzytelniania Azure AD w usłudze Application Insights, zobacz Azure AD uwierzytelnianie w usłudze Application Insights.
1.3.7.5
Wydanie punktu w celu backportowania poprawki z wersji 1.4.0-pre.
Poprawki błędów
Naprawiono wyjątek ObjectDisposedException podczas zamykania.
1.3.7.4
Wydanie punktu w celu rozwiązania problemu wykrytego podczas testowania scenariusza dołączania bez kodu App Service.
Zmiany
Element netcoreapp3.0
docelowy zależy teraz od Microsoft.ApplicationInsights.AspNetCore
>= 2.1.1 (wcześniej >= 2.1.2).
1.3.7.3
Wydanie punktu w celu rozwiązania kilku problemów o dużym wpływie.
Poprawki błędów
- Naprawiono odnajdywanie pliku PDB w folderze wwwroot/bin , które zostało przerwane po zmianie algorytmu wyszukiwania symboli w wersji 1.3.6.
- Naprawiono hałaśliwy
ExtractWasCalledMultipleTimesException
w telemetrii.
1.3.7
Zmiany
Element netcoreapp2.0
docelowy SnapshotCollector
Microsoft.ApplicationInsights.AspNetCore
>zależy od = 2.1.1 (ponownie). Ta zmiana przywraca zachowanie do sposobu, w jaki była wcześniejsza niż 1.3.5. Próbowaliśmy uaktualnić go w wersji 1.3.6, ale niektóre scenariusze App Service uległy awarii.
Nowe funkcje
Moduł zbierający migawki odczytuje i analizuje zmienną ConnectionString
środowiskową APPLICATIONINSIGHTS_CONNECTION_STRING lub z .TelemetryConfiguration
Przede wszystkim służy do ustawiania punktu końcowego na potrzeby nawiązywania połączenia z usługą migawki. Aby uzyskać więcej informacji, zobacz dokumentację Parametry połączenia.
Poprawki błędów
Przełączono się na używanie HttpClient
dla wszystkich obiektów docelowych z wyjątkiem net45
tego, że WebRequest
w niektórych środowiskach wystąpił błąd z powodu niezgodności SecurityProtocol
(wymaga protokołu TLS 1.2).
1.3.6
Zmiany
SnapshotCollector
teraz zależy odMicrosoft.ApplicationInsights
>= 2.5.1 dla wszystkich platform docelowych. To wymaganie może być zmianą powodującą niezgodność, jeśli aplikacja zależy od starszej wersji zestawu SDK Microsoft.ApplicationInsights.- Usunięto obsługę protokołów TLS 1.0 i 1.1 w narzędziu do przekazywania migawek.
- Okres skanowania pdB jest teraz domyślnie domyślnie 24 godziny zamiast 15 minut. Można go konfigurować za pomocą polecenia
PdbRescanInterval
w systemieSnapshotCollectorConfiguration
. - Skanowanie pliku PDB wyszukuje tylko foldery najwyższego poziomu zamiast cykliczne. Ta zmiana może być zmianą powodującą niezgodność, jeśli symbole znajdują się w podfolderach folderu binarnego.
Nowe funkcje
- Rotacja dziennika w programie ,
SnapshotUploader
aby uniknąć wypełniania folderu dzienników starymi plikami. - Obsługa deoptymalizacji (za pośrednictwem funkcji ReJIT podczas dołączania) dla aplikacji platformy .NET Core 3.0.
- Dodano symbole do pakietu NuGet.
- Ustawianie większej liczby metadanych podczas przekazywania minidumps.
Initialized
Dodano właściwość do elementuSnapshotCollectorTelemetryProcessor
.CancellationToken
Jest to element , który jest anulowany, gdy moduł zbierający migawki jest całkowicie zainicjowany i połączony z punktem końcowym usługi.- Migawki można teraz przechwycić w przypadku wyjątków w metodach generowanych dynamicznie. Przykładem są skompilowane drzewa wyrażeń generowane przez zapytania platformy Entity Framework.
Poprawki błędów
AmbiguousMatchException
ładowanie modułu zbierającego migawki z powodu monitora stanu.GetSnapshotCollector
metoda extension przeszukuje teraz wszystkieTelemetrySinks
metody .- Nie uruchamiaj narzędzia do przekazywania migawek na nieobsługiwanych platformach.
- Obsługa
InvalidOperationException
podczas deoptymalizacji metod dynamicznych (na przykład Entity Framework).
1.3.5
- Dodano obsługę suwerennych chmur (starsze wersje nie będą działać w suwerennych chmurach).
- Dodanie modułu zbierającego migawki ułatwiło korzystanie z polecenia
AddSnapshotCollector()
. Aby uzyskać więcej informacji, zobacz Włączanie debugera migawek dla aplikacji platformy .NET w Azure App Service. - Użyj ustawienia FISMA MD5 do weryfikowania bloków obiektów blob. To ustawienie pozwala uniknąć domyślnego algorytmu kryptograficznego MD5 platformy .NET, który jest niedostępny, gdy system operacyjny jest ustawiony na tryb zgodny ze standardem FIPS.
- Ignoruj .NET Framework ramek podczas deoptymalizowania wywołań funkcji. To zachowanie może być kontrolowane przez
DeoptimizeIgnoredModules
ustawienie konfiguracji. DeoptimizeMethodCount
Dodano ustawienie konfiguracji, które umożliwia deoptymalizowanie więcej niż jednego wywołania funkcji.
1.3.4
- Dozwolone klucze instrumentacji strukturalnej.
- Zwiększona niezawodność narzędzia do przekazywania migawek. Kontynuuj uruchamianie, nawet jeśli nie można przenieść starych dzienników modułu przekazywania.
- Ponowne włączenie raportowania większej ilości danych telemetrycznych w przypadku natychmiastowego zakończenia SnapshotUploader.exe (została wyłączona w wersji 1.3.3).
- Uproszczone wewnętrzne dane telemetryczne.
- Funkcja eksperymentalna: Plany kolekcji snappoint: Dodaj
snapshotOnFirstOccurence
. Aby uzyskać więcej informacji, zobacz ten artykuł w witrynie GitHub.
1.3.3
Usunięto usterkę powodującą , żeSnapshotUploader.exe przestawał odpowiadać, a nie przekazywać migawek dla aplikacji platformy .NET Core.
1.3.2
- Funkcja eksperymentalna: Plany kolekcji punktów przyciągania. Aby uzyskać więcej informacji, zobacz ten artykuł w witrynie GitHub.
- SnapshotUploader.exe kończy działanie, gdy środowisko uruchomieniowe zwalnia
AppDomain
SnapshotCollector
załadowany element, zamiast czekać na zakończenie procesu. Ta akcja zwiększa niezawodność modułu zbierającego w przypadku hostowanych w usługach IIS. - Dodano konfigurację w celu umożliwienia wielu
SnapshotCollector
wystąpień używających tego samego klucza instrumentacji do współużytkowania tego samegoSnapshotUploader
procesu:ShareUploaderProcess
(wartość domyślna totrue
). - Zgłoszono więcej danych telemetrycznych, gdy SnapshotUploader.exe natychmiast kończy działanie.
- Zmniejszono liczbę plików pomocy technicznej ,SnapshotUploader.exe musi zapisywać na dysku.
1.3.1
- Usunięto obsługę zbierania migawek za pomocą interfejsu API RtlCloneUserProcess i obsługuje tylko interfejs API PssCaptureSnapshots.
- Zwiększono domyślny limit liczby migawek, które można przechwycić w ciągu 10 minut od jednego do trzech.
- Zezwalaj SnapshotUploader.exe na negocjowanie protokołu TLS 1.1 i 1.2.
- Zgłaszano więcej danych telemetrycznych podczas
SnapshotUploader
rejestrowania ostrzeżenia lub błędu. - Zatrzymaj wykonywanie migawek, gdy usługa zaplecza zgłasza osiągnięcie dziennego limitu przydziału (50 migawek dziennie).
- Dodano dodatkowe zaewidencjonowania SnapshotUploader.exe , aby nie zezwalać na uruchamianie dwóch wystąpień w tym samym czasie.
1.3.0
Zmiany
- W przypadku aplikacji przeznaczonych dla .NET Framework moduł zbierający migawki zależy teraz od usługi Microsoft.ApplicationInsights w wersji 2.3.0 lub nowszej. Kiedyś było to 2.2.0 lub nowsze. Uważamy, że ta zmiana nie będzie problemem dla większości aplikacji. Poinformuj nas, czy ta zmiana uniemożliwia korzystanie z najnowszego modułu zbierającego migawki.
- Użyj opóźnień wycofywania wykładniczego w narzędziu do przekazywania migawek podczas ponawiania próby przekazania nieudanych.
- Użyj
ServerTelemetryChannel
(jeśli jest dostępna) w celu bardziej niezawodnego raportowania danych telemetrycznych. - Użyj
SdkInternalOperationsMonitor
początkowego połączenia z usługą Snapshot Debugger, aby była ignorowana przez śledzenie zależności. - Ulepszona telemetria wokół początkowego połączenia z debugerem migawki.
- Zgłoś więcej danych telemetrycznych dla:
- App Service wersji.
- Wystąpienia obliczeniowe platformy Azure.
- Pojemniki.
- Azure Functions aplikacji.
Poprawki błędów
- Gdy interwał resetowania licznika problemu jest ustawiony na 24 dni, zinterpretuj to jako 24 godziny.
- Usunięto usterkę polegającą na tym, że program przekazujący migawki przestał przetwarzać nowe migawki, jeśli wystąpił wyjątek podczas dysponowania migawki.
1.2.3
Naprawiono podpisywanie silnej nazwy przy użyciu plików binarnych usługi Snapshot Uploader.
1.2.2
Zmiany
- Pliki wymagane dla biblioteki SnapshotUploader(64).exe są teraz osadzone jako zasoby w głównej biblioteki DLL. Oznacza
SnapshotCollectorFiles
to, że folder nie jest już tworzony, co upraszcza kompilowanie i wdrażanie i zmniejsza ilość niepotrzebnych elementów w Eksplorator rozwiązań. Należy zachować ostrożność podczas uaktualniania, aby przejrzeć zmiany w.csproj
pliku. PlikMicrosoft.ApplicationInsights.SnapshotCollector.targets
nie jest już potrzebny. - Dane telemetryczne są rejestrowane w zasobie usługi Application Insights, nawet jeśli
ProvideAnonymousTelemetry
ustawiono wartość false. Ta zmiana polega na tym, że możemy zaimplementować funkcję sprawdzania kondycji w Azure Portal.ProvideAnonymousTelemetry
dotyczy tylko danych telemetrycznych wysyłanych do firmy Microsoft w celu uzyskania pomocy technicznej i poprawy produktu. - Gdy
TempFolder
lubShadowCopyFolder
są przekierowywane do zmiennych środowiskowych, zachowaj bezczynność modułu zbierającego do momentu ustawienia tych zmiennych środowiskowych. - W przypadku aplikacji łączących się z Internetem za pośrednictwem serwera proxy moduł zbierający migawki automatycznie wykrywa wszystkie ustawienia serwera proxy i przekazuje je do SnapshotUploader.exe.
- Obniż priorytet
SnapshotUploader
procesu (jeśli to możliwe). Ten priorytet można zastąpić za pomocąIsLowPrioirtySnapshotUploader
opcji . - Dodano metodę
GetSnapshotCollector
rozszerzenia dlaTelemetryConfiguration
scenariuszy, w których chcesz programowo skonfigurować moduł zbierający migawki. - Ustaw wersję zestawu SDK usługi Application Insights (zamiast wersji aplikacji) w telemetrii dostępnej dla klienta.
- Wyślij pierwsze zdarzenie pulsu po dwóch minutach.
Poprawki błędów
- Rozwiązano problem
NullReferenceException
polegający na tym, że wyjątki miały słowniki danych o wartości null lub niezmiennej. - W narzędziu przekazującym ponów próbę dopasowania pliku PDB kilka razy, jeśli wystąpi naruszenie udostępniania.
- Napraw zduplikowaną telemetrię, gdy więcej niż jeden wątek wywołuje potok telemetrii podczas uruchamiania.
1.2.1
Zmiany
- Pliki komentarzy dokumentu XML są teraz uwzględniane w pakiecie NuGet.
- Dodano metodę
ExcludeFromSnapshotting
rozszerzenia dlaSystem.Exception
scenariuszy, w których wiesz, że masz hałaśliwy wyjątek i chcesz uniknąć tworzenia migawek. IsEnabledWhenProfiling
Dodano właściwość konfiguracji, która jest domyślnie ustawiona na true. Jest to zmiana z poprzednich wersji, w których tworzenie migawki zostało tymczasowo wyłączone, jeśli profiler usługi Application Insights wykonywał szczegółową kolekcję. Stare zachowanie można odzyskać, ustawiając tę właściwość nafalse
.
Poprawki błędów
- Poprawnie podpisz SnapshotUploader64.exe .
- Ochrona przed podwójną inicjacją procesora telemetrii.
- Zapobiegaj podwójnemu rejestrowaniu danych telemetrycznych w aplikacjach z wieloma potokami.
- Usunięto usterkę z czasem wygaśnięcia planu kolekcji, który mógł uniemożliwić migawki po upływie 24 godzin.
1.2.0
Największą zmianą w tej wersji (stąd przejście do nowego numeru wersji pomocniczej) jest ponowne zapisywanie potoku tworzenia migawki i obsługi go. W poprzednich wersjach ta funkcja została zaimplementowana w kodzie natywnym (ProductionBreakpoints.dll* i SnapshotHolder.exe*). Nowa implementacja to cały zarządzany kod z wywołaniami P/Invoke.
W przypadku tej pierwszej wersji przy użyciu nowego potoku nie odeszliśmy od oryginalnego zachowania. Nowa implementacja umożliwia lepsze raportowanie błędów i konfiguruje nas w celu uzyskania przyszłych ulepszeń.
Inne zmiany w tej wersji
- MinidumpUploader.exe zmieniono nazwę naSnapshotUploader.exe (lub SnapshotUploader64.exe).
- Dodano dane telemetryczne chronometrażu do żądań DeOptimize/ReOptimize.
- Dodano kompresję gzip dla przekazywania minidump.
- Rozwiązano problem polegający na tym, że pliki PDB zostały zablokowane uniemożliwiające uaktualnienie lokacji.
- Zarejestruj oryginalną nazwę folderu (SnapshotCollectorFiles) podczas kopiowania w tle.
- Skorygowano limity pamięci dla 64-bitowych procesów, aby zapobiec ponownym uruchomieniom lokacji z powodu OOM.
- Rozwiązano problem polegający na tym, że migawki były nadal zbierane nawet po wyłączeniu.
- Rejestrowanie zdarzeń pulsu do zasobu sztucznej inteligencji klienta.
- Ulepszona szybkość migawek przez usunięcie elementu "Źródło" z identyfikatora problemu.
1.1.2
Zmiany
- Rozszerzone dane telemetryczne użycia.
- Wykrywanie i zgłaszanie wersji i systemu operacyjnego .NET.
- Wykrywanie i zgłaszanie większej liczby środowisk platformy Azure (Azure Cloud Services, Azure Service Fabric).
- Metryki wyjątków rekordu i raportu (liczba wyjątków pierwszej szansy i liczba
TrackException
wywołań) w telemetrii pulsu.
Poprawki błędów
- Poprawna obsługa
SqlException
miejsca, w którym nie jest zgłaszany wyjątek wewnętrzny (Win32Exception). - Przycięte spacje końcowe w folderach symboli, które spowodowały niepoprawne analizowanie argumentów wiersza polecenia do
MinidumpUploader
elementu . - Zapobiec nieskończonemu ponawianiu próby nieudanych połączeń z punktem końcowym agenta snapshot Debugger.
1.1.0
Zmiany
- Dodano ochronę pamięci hosta. Ta funkcja zmniejsza wpływ na pamięć maszyny hosta.
- Ulepszono środowisko wyświetlania migawek Azure Portal.
Następne kroki
Włącz debuger migawek usługi Application Insights dla aplikacji:
- Azure App Service
- Azure Functions
- usług Azure Cloud Services
- Azure Service Fabric
- Azure Virtual Machines i Virtual Machine Scale Sets
- Lokalne maszyny wirtualne lub fizyczne
Poza debugerem migawek usługi Application Insights:
- Ustaw punkty przyciągania w kodzie, aby uzyskać migawki bez oczekiwania na wyjątek.
- Diagnozowanie wyjątków w aplikacjach internetowych wyjaśnia, jak zwiększyć widoczność wyjątków w usłudze Application Insights.
- Wykrywanie inteligentne automatycznie wykrywa anomalie wydajności.