Debugmomentaufnahmen von Ausnahmen in .NET-Apps

Wenn eine Ausnahme auftritt, können Sie automatisch eine Debugmomentaufnahme von Ihrer aktiven Webanwendung erfassen. Die Debugmomentaufnahme zeigt den Status des Quellcodes und der Variablen in dem Moment, in dem die Ausnahme ausgelöst wurde.

Der Momentaufnahmedebugger in Application Insights:

  • Überwacht vom System generierte Protokolle Ihrer Web-App.
  • Erfasst Momentaufnahmen Ihrer am häufigsten ausgelösten Ausnahmen.
  • Stellt Informationen bereit, die Sie für die Diagnose von Problemen in der Produktion benötigen.

Zur Verwendung des Momentaufnahmedebuggers müssen Sie folgende Schritte ausführen:

Funktionsweise von Momentaufnahmen

Der Momentaufnahmedebugger wird als Application Insights-Telemetrieprozessor implementiert. Bei Ausführung der Anwendung wird der Momentaufnahmedebugger-Telemetrieprozessor der systemseitig generierten Protokollpipeline Ihrer Anwendung hinzugefügt.

Bei jedem Aufruf von TrackException durch Ihre Anwendung berechnet der Momentaufnahmedebugger basierend auf der Art der ausgelösten Ausnahme und der auslösenden Methode eine Problem-ID. Bei jedem Aufruf von TrackException durch Ihre Anwendung erhöht sich der Zähler für die entsprechende Problem-ID. Wenn der Zähler den Wert ThresholdForSnapshotting erreicht, wird die Problem-ID einem Sammlungsplan hinzugefügt.

Der Momentaufnahmedebugger abonniert außerdem das Ereignis AppDomain.CurrentDomain.FirstChanceException, um ausgelöste Ausnahmen zu überwachen. Wenn dieses Ereignis ausgelöst wird, wird die Problem-ID der Ausnahme berechnet und mit den Problem-IDs im Sammlungsplan verglichen.

Ist eine Entsprechung vorhanden, wird eine Momentaufnahme des ausgeführten Prozesses erstellt. Der Momentaufnahme wird ein eindeutiger Bezeichner zugewiesen, und die Ausnahme wird mit diesem Bezeichner gekennzeichnet. Nachdem der FirstChanceException-Handler zurückgekehrt ist, wird die ausgelöste Ausnahme normal verarbeitet. Schließlich erreicht die Ausnahme wieder die TrackException-Methode. Sie wird zusammen mit dem Bezeichner für Momentaufnahme an Application Insights gemeldet.

Der Hauptprozess wird mit minimaler Unterbrechung weiter ausgeführt und stellt weiter Datenverkehr für Benutzer bereit. In der Zwischenzeit wird die Momentaufnahme an den Snapshot Uploader-Prozess übergeben. Der Snapshot Uploader erstellt einen Minidump mit allen relevanten Symboldateien (PDB-Dateien) und lädt ihn in Application Insights hoch.

Tipps zur Erstellung der Momentaufnahme:

  • Bei einer Prozessmomentaufnahme handelt es sich um einen angehaltenen Klon des ausgeführten Prozesses.
  • Die Erstellung der Momentaufnahme dauert 10 bis 20 Millisekunden.
  • Der Standardwert für ThresholdForSnapshotting ist „1“. Das ist gleichzeitig auch der Mindestwert. Ihre App muss die gleiche Ausnahme also zweimal auslösen, bevor eine Momentaufnahme erstellt wird.
  • Legen Sie IsEnabledInDeveloperMode auf true fest, wenn Sie beim Debuggen in Visual Studio Momentaufnahmen generieren möchten.
  • Die Rate der Momentaufnahmenerstellung wird durch die Einstellung SnapshotsPerTenMinutesLimit begrenzt. Standardmäßig ist das Limit auf eine einzelne Momentaufnahme pro zehn Minuten festgelegt.
  • Pro Tag können maximal 50 Momentaufnahmen hochgeladen werden.

Unterstützte Anwendungen und Umgebungen

In diesem Abschnitt werden die unterstützten Anwendungen und Umgebungen aufgeführt.

Anwendungen

Die Momentaufnahmesammlung ist für folgende Anwendungen verfügbar:

Umgebungen

Die folgenden Umgebungen werden unterstützt:

Hinweis

Clientanwendungen (z. B. WPF, Windows Forms oder UWP) werden nicht unterstützt.

Wenn Sie den Momentaufnahmedebugger aktiviert haben, aber keine Momentaufnahmen angezeigt werden, lesen Sie den Leitfaden zur Problembehandlung.

Erforderliche Berechtigungen

Der Zugriff auf Momentaufnahmen wird durch die rollenbasierte Zugriffssteuerung in Azure geschützt. Um einen Momentaufnahme zu überprüfen, müssen Sie zunächst der Rolle Application Insights-Momentaufnahmedebugger hinzugefügt werden. Abonnementbesitzer*innen können diese Rolle einzelnen Benutzer*innen oder Gruppen für die Application Insights-Zielmomentaufnahme zuweisen.

Weitere Informationen finden Sie unter Zuweisen von Azure-Rollen über das Azure-Portal.

Wichtig

Momentaufnahmen können personenbezogene Daten oder andere vertrauliche Informationen in Variablen- und Parameterwerten enthalten. Momentaufnahmedaten werden in derselben Region wie Ihre Application Insights-Ressource gespeichert.

Einschränkungen

In diesem Abschnitt werden die Einschränkungen für den Momentaufnahmedebugger erläutert.

Beibehaltung von Daten

Debugmomentaufnahmen werden 15 Tage lang gespeichert. Die Standardrichtlinie zur Datenaufbewahrung wird für jede Anwendung festgelegt. Wenn Sie diesen Wert erhöhen möchten, können Sie eine Erhöhung anfordern, indem Sie einen Supportfall im Azure-Portal eröffnen. Für jede Application Insights-Instanz ist eine maximale Anzahl von 50 Momentaufnahmen pro Tag zulässig.

Veröffentlichen von Symbolen

Für den Momentaufnahmedebugger müssen Symboldateien auf dem Produktionsserver vorhanden sein, um Variablen zu decodieren und eine gute Debugleistung in Visual Studio zu erzielen.

Die Version 15.2 (oder höher) von Visual Studio 2017 veröffentlicht Symbole für Releasebuilds standardmäßig im Rahmen der Veröffentlichung für App Service. In Vorgängerversionen müssen Sie der Veröffentlichungsprofildatei vom Typ .pubxml die folgende Zeile hinzufügen, um Symbole im Releasemodus zu veröffentlichen:

    <ExcludeGeneratedDebugSymbol>False</ExcludeGeneratedDebugSymbol>

Stellen Sie für Azure Compute und andere Typen sicher, dass die Symboldateien im selben Ordner wie die DLL-Datei der Hauptanwendung (in der Regel wwwroot/bin) liegen. Alternativ müssen sie im aktuellen Pfad verfügbar sein.

Weitere Informationen zu den verschiedenen verfügbaren Symboloptionen finden Sie in der Visual Studio-Dokumentation. Damit Sie die besten Ergebnisse erhalten, empfehlen wir Ihnen, Vollständig, Portabel oder Eingebettet zu verwenden.

Optimierte Builds

In einigen Fällen können lokale Variablen aufgrund von Optimierungen, die durch den JIT-Compiler angewendet werden, nicht in Releasebuilds angezeigt werden.

In App Service kann der Snapshot Collector allerdings Auslösemethoden deoptimieren, die Teil des entsprechenden Sammlungsplans sind.

Tipp

Installieren Sie in Ihrer App Service-Instanz die Application Insights-Websiteerweiterung, um Deoptimierungsunterstützung zu erhalten.

Versionshinweise zu „Microsoft.ApplicationInsights.SnapshotCollector“

Dieser Artikel enthält Versionshinweise für das NuGet-Paket Microsoft.ApplicationInsights.SnapshotCollector für .NET-Anwendungen, das vom Application Insights-Momentaufnahmedebugger verwendet wird.

Erfahren Sie mehr über den Application Insights-Momentaufnahmedebugger für .NET-Anwendungen.

Zum Einreichen von Fehlerberichten und Feedback können Sie ein Problem in GitHub öffnen.

Hinweis

Am 31. März 2025 wird der Support für die auf Instrumentierungsschlüsseln basierende Erfassung eingestellt. Die Erfassung von Instrumentierungsschlüsseln funktioniert zwar weiterhin, wir stellen jedoch keine Updates und keinen Support mehr für das Feature bereit. Wechseln Sie zu Verbindungszeichenfolgen, damit Sie neue Funktionen nutzen können.

1.4.4

Hierbei handelt es sich um ein Nebenrelease, um von Benutzern gemeldete Fehler zu beheben.

Behebung von Programmfehlern

Ausnahme während der nativen Komponentenextraktion bei Verwendung einer einzelnen Dateianwendung korrigiert.

Änderungen

  • Fehlermeldungen für PDB-Scans von Fehler auf Warnung heruntergestuft
  • msdia140.dll aktualisiert.
  • Herstellen einer Dienstverbindung vermeiden, wenn der Debugger über die Websiteerweiterungseinstellungen deaktiviert ist

1.4.3

Hierbei handelt es sich um ein Nebenrelease, um von Benutzern gemeldete Fehler zu beheben.

Behebung von Programmfehlern

1.4.2

Hierbei handelt es sich um ein Nebenrelease, um einen von Benutzer*innen gemeldeten Fehler zu beheben.

Behebung von Programmfehlern

ArgumentException: Delegate müssen denselben Typ aufweisen wurde behoben.

1.4.1

Hierbei handelt es sich um ein Nebenrelease, in dem ein in Version 1.4.0 eingeführter Breaking Change rückgängig gemacht wurde.

Behebung von Programmfehlern

Methode nicht gefunden in WebJobs wurde behoben.

1.4.0

Adressiert mehrere Verbesserungen und zusätzliche Unterstützung für Azure Active Directory (Azure AD)-Authentifizierung für Application Insights-Datenerfassung.

Änderungen

  • Reduzierte Snapshot Collector-Paketgröße um 60 % von 10,34 MB auf 4,11 MB.
  • In Snapshot Collector wird nur netstandard2.0 als Ziel verwendet.
  • Die Application Insights-SDK-Abhängigkeit wurde auf 2.15.0 aktualisiert.
  • MinidumpWithThreadInfo wurde beim Schreiben von Speicherabbildern wieder hinzugefügt.
  • CompatibilityVersion wurde hinzugefügt, um die Synchronisierung zwischen dem Snapshot Collector-Agent und dem Snapshot Uploader bei Breaking Changes zu verbessern.
  • Der Benennungsalgorithmus für SnapshotUploader LogFile wurde geändert, um übermäßige Datei-E/A in App Service zu vermeiden.
  • Bei den hochgeladenen Blobmetadaten wurden PID, Rollenname und Prozessstartzeit hinzugefügt.
  • Nach Möglichkeit wird in Snapshot Collector und Snapshot Uploader System.Diagnostics.Process verwendet.

Neue Funktionen

Azure AD-Authentifizierung zu SnapshotCollector hinzugefügt. Weitere Informationen zur Azure AD-Authentifizierung in Application Insights finden Sie unter Azure AD-Authentifizierung für Application Insights.

1.3.7.5

Ein Nebenversionsrelease zum Rückportieren eines Hotfix in 1.4.0-pre.

Behebung von Programmfehlern

ObjectDisposedException beim Herunterfahren wurde behoben.

1.3.7.4

Ein Release einer Nebenversion zur Behandlung eines Problems, das beim Testen des App Service-Szenarios zum Anfügen ohne Code erkannt wurde.

Änderungen

Das netcoreapp3.0-Ziel hängt nun von Microsoft.ApplicationInsights.AspNetCore>= 2.1.1 ab (zuvor >= 2.1.2).

1.3.7.3

Hierbei handelt es sich um ein Release einer Nebenversion zum Beheben einiger Probleme mit hohen Auswirkungen.

Behebung von Programmfehlern

  • Die PDB-Ermittlung im Ordner wwwroot/bin“ wurde behoben, die nach der Änderung des Suchalgorithmus für Symbole in Version 1.3.6 beschädigt war.
  • Überflüssige ExtractWasCalledMultipleTimesException-Informationen in der Telemetrie behoben.

1.3.7

Änderungen

Das netcoreapp2.0-Ziel von SnapshotCollector hängt von Microsoft.ApplicationInsights.AspNetCore>= 2.1.1 ab (erneut). Mit dieser Änderung wurde das Verhalten wiederhergestellt, das vor Version 1.3.5 vorhanden war. In Version 1.3.6 wurde ein Upgrade versucht, das jedoch zu Problemen bei einigen App Service-Szenarien führte.

Neue Funktionen

Snapshot Collector liest und analysiert den ConnectionString-Wert aus der Umgebungsvariable APPLICATIONINSIGHTS_CONNECTION_STRING oder aus TelemetryConfiguration. Dies wird hauptsächlich zum Festlegen des Endpunkts zum Herstellen einer Verbindung mit dem Momentaufnahmedienst verwendet. Weitere Informationen finden Sie in der Dokumentation zu Verbindungszeichenfolgen.

Behebung von Programmfehlern

Wechsel zur Verwendung von HttpClient für alle Ziele mit Ausnahme von net45, da WebRequest in einigen Umgebungen aufgrund inkompatibler SecurityProtocol (erfordert TLS 1.2) fehlschlug.

1.3.6

Änderungen

  • SnapshotCollector hängt nun für alle Zielframeworks von Microsoft.ApplicationInsights>= 2.5.1 ab. Bei dieser Anforderung kann es sich um einen Breaking Change handeln, wenn Ihre Anwendung von einer älteren Version des Microsoft.ApplicationInsights SDK abhängig ist.
  • Die Unterstützung für TLS 1.0 und 1.1 wurde im Snapshot Uploader entfernt.
  • Die Dauer von PDB-Scans weist nun standardmäßig 24 Stunden anstelle von 15 Minuten auf. Konfigurierbar über PdbRescanInterval auf SnapshotCollectorConfiguration.
  • PDB-Scans durchsucht nur die Ordner der obersten Ebene, anstatt rekursiv zu suchen. Bei dieser Änderung kann es sich um ein Breaking Change handeln, wenn sich Ihre Symbole in Unterordnern des Binärordners befinden.

Neue Funktionen

  • Die Protokollrotation wurde in SnapshotUploader zum Vermeiden des Auffüllen der Protokollordner mit alten Dateien hinzugefügt.
  • Die Unterstützung der Deoptimierung (über ReJIT bei Anfügung) für .NET Core 3.0-Anwendungen wurde hinzugefügt.
  • Symbole wurden zu NuGet-Paketen hinzugefügt.
  • Legen Sie beim Hochladen von Minidumps weitere Metadaten fest.
  • Eine Initialized-Eigenschaft wurde zu SnapshotCollectorTelemetryProcessor hinzugefügt. Dabei handelt es sich um ein CancellationToken, das abgebrochen wird, wenn Snapshot Collector vollständig initialisiert und mit dem Dienstendpunkt verbunden ist.
  • Momentaufnahmen können nun für Ausnahmen in dynamisch generierten Methoden erfasst werden. Ein Beispiel sind die kompilierten Ausdrucksbaumstrukturen, die von Entity Framework-Abfragen generiert werden.

Behebung von Programmfehlern

  • AmbiguousMatchException aufgrund des Statusmonitors beim Laden von Snapshot Collector.
  • Die Erweiterungsmethode GetSnapshotCollector sucht nun alle TelemetrySinks.
  • Snapshot Uploader wird nicht auf nicht unterstützten Plattformen gestartet.
  • InvalidOperationException wird bei der Deoptimierung dynamischer Methoden behandelt (z. B. Entity Framework).

1.3.5

  • Unterstützung für Sovereign Clouds wurde hinzugefügt (ältere Versionen funktionieren in Sovereign Clouds nicht).
  • Das Hinzufügen von Snapshot Collector wurde mithilfe von AddSnapshotCollector() vereinfacht. Weitere Informationen finden Sie unter Aktivieren des Momentaufnahmedebuggers für .NET-Apps in Azure App Service.
  • Die FISMA MD5-Einstellung wird zum Verifizieren von Blobblöcken verwendet. Durch diese Einstellung wird der .NET MD5-Standardkryptografiealgorithmus vermieden, der nicht verfügbar ist, wenn der FIPS-kompatible Modus für das Betriebssystem festgelegt wird.
  • Frames von .NET Framework werden beim Deoptimieren von Funktionsaufrufen ignoriert. Dieses Verhalten kann von der DeoptimizeIgnoredModules-Konfigurationseigenschaft gesteuert werden.
  • Die Konfigurationseinstellung DeoptimizeMethodCount wurde hinzugefügt, die die Deoptimierung von mehr als nur einem Funktionsaufruf ermöglicht.

1.3.4

  • Strukturierte Instrumentierungsschlüssel sind zugelassen.
  • Die Stabilität von SnapshotUploader wurde verbessert. Der Start wird fortgesetzt, selbst wenn die Uploaderprotokolle nicht verschoben werden können.
  • Die Berichterstellung für zusätzliche Telemetrie, wenn SnapshotUploader.exe sofort beendet wird, wurde wieder aktiviert (dieses Feature wurde in Version 1.3.3 deaktiviert).
  • Die interne Telemetrie wurde vereinfacht.
  • Experimentelle Funktion: Pläne für Andockpunktsammlungen: snapshotOnFirstOccurence wird hinzugefügt. Weitere Informationen finden Sie in diesem GitHub-Artikel.

1.3.3

Ein Fehler wurde behoben, durch den SnapshotUploader.exe nicht mehr reagiert und keine Momentaufnahmen für .NET Core-Apps hochgeladen hat.

1.3.2

  • Experimentelle Funktion: Pläne für Andockpunktsammlungen. Weitere Informationen finden Sie in diesem GitHub-Artikel.
  • SnapshotUploader.exe wird beendet, wenn die Runtime die AppDomain entlädt, aus derSnapshotCollector geladen wird, anstatt dass auf die Beendigung des Prozesses gewartet wird. Diese Aktion verbessert die Zuverlässigkeit des Collectors, wenn dieser in IIS gehostet wird.
  • Es wurde Konfiguration hinzugefügt, die mehrere SnapshotCollector-Instanzen zulässt, die denselben Instrumentierungsschlüssel verwenden, um den gleichen SnapshotUploader-Prozess zu verwenden: ShareUploaderProcess (standardmäßig true).
  • Zusätzliche Telemetriedaten werden gemeldet, wenn SnapshotUploader.exe sofort beendet wird.
  • Die Anzahl der Unterstützungsdateien, die SnapshotUploader.exe auf den Datenträger schreiben muss, wurde reduziert.

1.3.1

  • Die Unterstützung für das Erfassen von Momentaufnahmen mit der RtlCloneUserProcess-API wurde entfernt. Nur die PssCaptureSnapshots-API wird unterstützt.
  • Das Standardlimit für die maximale Anzahl von Momentaufnahmen, die innerhalb von 10 Minuten erfasst werden können, wurde von eins auf drei erhöht.
  • Für SnapshotUploader.exe wurde die Aushandlung von TLS 1.1 und 1.2 zugelassen.
  • Weitere Telemetriedaten wurden gemeldet, wenn SnapshotUploader eine Warnung oder einen Fehler protokolliert.
  • Das Erstellen von Momentaufnahmen wird beendet, wenn der Back-End-Dienst meldet, dass das tägliche Kontingent erreicht wurde (50 Momentaufnahmen pro Tag).
  • Es wurde eine zusätzliche Überprüfung zu SnapshotUploader.exe hinzugefügt, um die gleichzeitige Ausführung von zwei Instanzen zu untersagen.

1.3.0

Änderungen

  • Bei Anwendungen für .NET Framework hängt Snapshot Collector nun von Microsoft.ApplicationInsights-Version 2.3.0 oder höher ab. Zuvor wurde Version 2.2.0 oder höher verwendet. Wir glauben, dass diese Änderung für die meisten Anwendungen kein Problem sein wird. Informieren Sie uns, wenn Sie durch diese Änderung die aktuelle Version von Snapshot Collector nicht verwenden können.
  • Beim Wiederholen fehlgeschlagener Uploads werden exponentielle Backoffverzögerungen im Snapshot Uploader verwendet.
  • ServerTelemetryChannel wird für zuverlässigere Berichterstattung von Telemetriedaten verwendet (sofern verfügbar).
  • SdkInternalOperationsMonitor wird bei der ersten Herstellung der Verbindung mit dem Momentaufnahmedebugger-Dienst verwendet, damit diese von der Abhängigkeitsüberwachung ignoriert wird.
  • Die Telemetrie bei der ersten Verbindung mit dem Momentaufnahmedebugger wurde verbessert.
  • Melden Sie weitere Telemetriedaten für Folgendes:
    • App Service-Version.
    • Compute-Instanzen von Azure
    • Container.
    • Azure Functions-App.

Behebung von Programmfehlern

  • Wenn das Zurücksetzungsintervall für den Problemzähler auf 24 Tage festgelegt ist, wird dies als 24 Stunden interpretiert.
  • Ein Fehler wurde behoben, bei dem der Snapshot Uploader die Verarbeitung neuer Momentaufnahmen beendet hat, wenn eine Ausnahme beim Löschen einer Momentaufnahme aufgetreten ist.

1.2.3

Das Signieren mit starkem Namen mithilfe von Snapshot Uploader-Binärdateien wurde behoben.

1.2.2

Änderungen

  • Die für SnapshotUploader(64).exe erforderlichen Dateien sind nun als Ressourcen in die Haupt-DLL eingebettet. Das bedeutet, dass der Ordner SnapshotCollectorFiles nicht mehr erstellt wird, wodurch die Erstellung und Bereitstellung vereinfacht und die Übersichtlichkeit im Projektmappen-Explorer verbessert wird. Überprüfen Sie die Änderungen an Ihrer .csproj-Datei sorgfältig, wenn Sie ein Upgrade durchführen. Die Microsoft.ApplicationInsights.SnapshotCollector.targets-Datei ist nicht mehr erforderlich.
  • Telemetriedaten werden in Ihrer Application Insights-Ressource protokolliert, selbst wenn ProvideAnonymousTelemetry auf False festgelegt ist. Durch diese Änderung kann ein Feature für die Integritätsprüfung im Azure-Portal implementiert werden. ProvideAnonymousTelemetry wirkt sich nur auf die Telemetriedaten aus, die für Produktsupport und -verbesserung an Microsoft gesendet werden.
  • Wenn TempFolder oder ShadowCopyFolder an Umgebungsvariablen weitergeleitet werden, sollte der Collector im Leerlauf gehalten werden, bis die Umgebungsvariablen festgelegt wurden.
  • Für Anwendungen, die über einen Proxyserver eine Verbindung mit dem Internet herstellen, erkennt Snapshot Collector Proxyeinstellungen automatisch und übergibt diese an SnapshotUploader.exe.
  • Die Priorität des SnapshotUploader-Prozesses wurde (nach Möglichkeit) gesenkt. Diese Priorität kann jedoch über die Option IsLowPrioirtySnapshotUploader überschrieben werden.
  • Eine GetSnapshotCollector-Erweiterungsmethode wurde in TelemetryConfiguration für Szenarien hinzugefügt, in denen Sie Snapshot Collector programmgesteuert konfigurieren müssen.
  • In für Kunden sichtbare Telemetriedaten wurde die Version des Application Insights SDK (anstelle der Anwendungsversion) angegeben.
  • Das erste Heartbeatereignis wird nach zwei Minuten gesendet.

Behebung von Programmfehlern

  • Die Ausnahme NullReferenceException wurde behoben, die aufgetreten ist, wenn Ausnahmen Datenwörterbücher aufwiesen, die NULL oder unveränderlich waren.
  • Der PDB-Abgleich im Uploader wird mehrmals wiederholt, wenn eine Freigabeverletzung auftritt.
  • Die doppelten Telemetriedaten bei mehreren Threadaufrufen in die Telemetriepipeline beim Start wurden behoben.

1.2.1

Änderungen

  • XML-Dokumentationskommentardateien sind nun im NuGet-Paket enthalten.
  • Eine ExcludeFromSnapshotting-Erweiterungsmethode für System.Exception wurde für Szenarien hinzugefügt, bei denen Sie wissen, dass Sie über eine ungenaue Ausnahme verfügen, und das Erstellen von Momentaufnahmen für diese vermeiden möchten.
  • Es wurde eine IsEnabledWhenProfiling-Konfigurationseigenschaft hinzugefügt, die standardmäßig True ist. Hierbei handelt es sich um eine Änderung der vorherigen Versionen, bei denen die Momentaufnahmenerstellung vorübergehend deaktiviert wurde, wenn Application Insights Profiler eine ausführliche Sammlung durchgeführt hat. Das alte Verhalten kann wiederhergestellt werden, indem diese Eigenschaft auf false festgelegt wird.

Behebung von Programmfehlern

  • SnapshotUploader64.exe wird nun ordnungsgemäß signiert.
  • Der Schutz vor doppelter Initialisierung des Telemetrieprozessors wurde eingerichtet.
  • Die doppelte Protokollierung von Telemetriedaten in Apps mit mehreren Pipelines wird nun verhindert.
  • Ein Fehler beim Ablaufdatum von Sammlungsplänen wurde behoben, der Momentaufnahmen nach 24 Stunden verhindern konnte.

1.2.0

Die größte Änderung dieser Version ist eine Umschreibung der Erstellung von Momentaufnahmen und der Verarbeitungspipeline (daher der Wechsel zu einer neuen Nebenversionsnummer). In vorherigen Versionen wurde diese Funktionalität in nativem Code implementiert (ProductionBreakpoints.dll* und SnapshotHolder.exe*). Bei der neuen Implementierung handelt es sich ausschließlich um verwalteten Code mit P/Invokes (Plattformaufrufen).

Für diese erste Version mit der neuen Pipeline wurde das ursprüngliche Verhalten kaum geändert. Die neue Implementierung ermöglicht bessere Fehlerberichterstellung und bereitet den Weg für zukünftige Verbesserungen.

Andere Änderungen in dieser Version

  • MinidumpUploader.exe wurde in SnapshotUploader.exe (oder SnapshotUploader64.exe) umbenannt.
  • Es wurden Zeittelemetriedaten zu DeOptimize-/ReOptimize-Anforderungen hinzugefügt.
  • Die GZIP-Komprimierung wurde für Uploads von Minidumps hinzugefügt.
  • Ein Problem wurde behoben, bei dem PDB-Dateien gesperrt waren, wodurch Standortupgrades verhindert wurden.
  • Der ursprüngliche Ordnername (SnapshotCollectorFiles) wird nun beim Erstellen von Schattenkopien protokolliert.
  • Die Arbeitsspeicherlimits für 64-Bit-Prozesse wurden angepasst, um Standortneustarts aufgrund von unzureichendem Arbeitsspeicher zu verhindern.
  • Ein Fehler wurde behoben, bei dem Momentaufnahmen auch nach der Deaktivierung weiterhin erfasst wurden.
  • Heartbeatereignisse werden nun in der KI-Ressource des Kunden protokolliert.
  • Die Geschwindigkeit der Momentaufnahmenerstellung wurde erhöht, indem „Source“ (Quelle) aus der Problem-ID entfernt wurde.

1.1.2

Änderungen

  • Erweiterte Nutzungstelemetrie.
  • Die .NET-Version und das Betriebssystem werden erkannt und gemeldet.
  • Weitere Azure-Umgebungen (Azure Cloud Services, Azure Service Fabric) werden erkannt und gemeldet.
  • Ausnahmemetriken (die Anzahl der Ausnahmen bei erster Möglichkeit und die Anzahl von TrackException-Aufrufen) werden in den Heartbeat-Telemetriedaten aufgezeichnet und gemeldet.

Behebung von Programmfehlern

  • Richtige Verarbeitung von SqlException, bei der die innere Ausnahme (Win32Exception) nicht ausgelöst wird.
  • Die nachstehenden Leerzeichen in Symbolordnern wurden gekürzt, die zu einer fehlerhaften Analyse von Befehlszeilenargumenten für MinidumpUploader führten.
  • Das unbegrenzte Wiederholen von fehlgeschlagenen Verbindungen mit dem Endpunkt des Momentaufnahmedebugger-Agents wird nun verhindert.

1.1.0

Änderungen

  • Es wurde ein Schutzmechanismus für den Hostarbeitsspeicher hinzugefügt. Dieses Feature reduziert die Auswirkungen auf den Arbeitsspeicher des Hostcomputers.
  • Die Anzeige der Momentaufnahmen im Azure-Portal wurde verbessert.

Nächste Schritte

Aktivieren des Application Insights-Momentaufnahmedebuggers für Ihre Anwendung:

Über den Application Insights-Momentaufnahmedebugger hinaus: