Freigeben über


Ausgaben

Bei einem Dump handelt es sich um eine Datei, die eine Momentaufnahme des Prozesses zum Zeitpunkt der Erstellung enthält und hilfreich sein könnte, um den Zustand Ihrer Anwendung zu untersuchen. Dumps können verwendet werden, um Ihre .NET-Anwendung zu debuggen, wenn es schwierig ist, einen Debugger an sie anzufügen, z. B. Produktions- oder CI-Umgebungen. Mithilfe von Dumps können Sie den Status des problematischen Prozesses erfassen und untersuchen, ohne die Anwendung beenden zu müssen.

Erfassen von Speicherabbildern

Je nachdem, auf welcher Plattform Ihre App ausgeführt wird, können Speicherabbilder auf verschiedene Arten gesammelt werden.

Hinweis

Dumps können vertrauliche Informationen enthalten, da sie den vollständigen Arbeitsspeicher des ausgeführten Prozesses enthalten können. Bedenken Sie beim Arbeiten mit Speicherabbildern alle Sicherheitseinschränkungen und -richtlinien.

  • Sie können Ihre Anwendung mithilfe von Umgebungsvariablen so konfigurieren, dass bei einem Absturz ein Speicherabbild erfasst wird.

  • Speicherabbilder sollten auch erfasst werden, wenn eine App noch nicht abgestürzt ist. Wenn Sie z. B. den Zustand einer Anwendung untersuchen möchten, die sich anscheinend in einem Deadlock befindet, ist es nicht hilfreich, Umgebungsvariablen zum Erfassen von Speicherabbildern bei einem Absturz zu konfigurieren, da die App noch immer ausgeführt wird.

  • dotnet-dump ist ein einfaches plattformübergreifendes Befehlszeilentool zum Sammeln eines Dumps. Mehrere andere Debuggertools wie Visual Studio oder windbg verfügen ebenfalls über Funktionen für die Speicherabbildsammlung.

  • Wenn Sie Ihre App in einer Produktionsumgebung ausführen oder sie verteilt (mehrere Dienste, Replikate) ausführen, bietet dotnet-monitor Unterstützung für viele gängige Szenarien und Ad-hoc-Diagnoseuntersuchungen, einschließlich der Sammlung und Ausgabe von Speicherabbildern. Es ermöglicht die Remoteerfassung von Speicherabbildern oder mit Triggerbedingungen.

Tipp

Informationen zur Problembehandlung und häufig gestellten Fragen zur Dumpsammlung finden Sie unter "Dumps: FAQ".

Analysieren von Speicherabbildern

  • Navigieren Sie zu Debug Linux-Dumps , um Informationen zur Analyse von Dumps zu erfahren, die unter Linux gesammelt werden.

  • Navigieren Sie zu "Debuggen von Windows-Dumps ", um Informationen zur Analyse der unter Windows gesammelten Dumps zu erfahren.

Speicheranalyse

Sie können Speicheranalysen für Ihre Anwendung durchführen, wenn der Speicher Ihrer App weiterhin zunimmt, aber Sie sind nicht sicher, warum dies der Fall ist. Lernprogramm zum Debuggen von Speicherlecks zeigt, wie Sie einen Speicherverlust mithilfe der dotnet-CLI-Tools mit den dotnet-sos-Befehlen dumpheap und gcroot debuggen.

Visual Studio Memory Analysis kann verwendet werden, um einen Speicherverlust unter Windows zu diagnostizieren.

Siehe auch

Erfahren Sie mehr darüber, wie Sie Dumps nutzen können, um Probleme in Ihrer .NET-Anwendung zu diagnostizieren.