Symboldownloadprogramm (dotnet-symbol)

Dieser Artikel gilt für: ✔️ .NET Core 2.1 SDK und neuere Versionen

Installieren

Verwenden Sie zum Installieren der neuesten Releaseversion des NuGet-Paketsdotnet-symbol den Befehl dotnet tool install:

dotnet tool install --global dotnet-symbol

Übersicht

dotnet-symbol [-h|--help] [options] <FILES>

Beschreibung

Das globale Tool dotnet-symbol lädt Dateien (Symbole, DAC, Module usw.) herunter, die zum Debuggen von Kernspeicherabbildern und Minidumps benötigt werden. Dies kann nützlich sein, wenn Sie auf einem anderen Computer erfasste Speicherabbilder debuggen. dotnet-symbol kann Module und Symbole herunterladen, die zum Analysieren des Speicherabbilds benötigt werden.

Optionen

  • --microsoft-symbol-server

    Hinzufügen des Symbolserverpfads http://msdl.microsoft.com/download/symbols (Standard)

  • --server-path <symbol server path>

    Hinzufügen eines Symbolservers zum Serverpfad

  • authenticated-server-path <pat> <server path>

    Hinzufügen eines authentifizierten Symbolservers zum Serverpfad mit einem persönlichen Zugriffstoken (Personal Access Token, PAT)

  • --cache-directory <file cache directory>

    Hinzufügen eines Cacheverzeichnisses

  • --recurse-subdirectories

    Verarbeiten von Eingabedateien in allen Unterverzeichnissen

  • --host-only

    Nur das Hostprogramm (d. h. dotnet), das LLDB zum Laden von Kernspeicherabbildern benötigt, wird heruntergeladen.

  • --symbols

    Herunterladen von Symboldateien (.pdb, .dbg, .dwarf)

  • --modules

    Herunterladen der Moduldateien (.dll, .so, .dylib)

  • --debugging

    Herunterladen der speziellen Debugmodule (DAC, DBI, SOS)

  • --windows-pdbs

    Erzwingen des Herunterladens der Windows-PDB-Dateien, wenn auch portierbare PDB-Dateien verfügbar sind

  • -o, --output <output directory>

    Mit dieser Option wird ein Ausgabeverzeichnis festgelegt. Andernfalls wird der Speicherort der Eingabedatei verwendet (Standard).

  • -d, --diagnostics

    Aktivieren der Diagnoseausgabe

  • -h|--help

    Zeigt die Hilfe für die Befehlszeile an.

Herunterladen von Symbolen

Wenn Sie dotnet-symbol für eine Speicherabbilddatei ausführen, werden standardmäßig alle Module, Symbole und DAC-/DBI-Dateien heruntergeladen, die zum Debuggen dieses Speicherabbilds benötigt werden, einschließlich der verwalteten Assemblys. Da SOS nun bei Bedarf Symbole herunterladen kann, kann bei der Analyse der meisten Linux-Kernspeicherabbilder lldb mit nur dem Host (dotnet) und den Debugmodulen verwendet werden. Führen Sie den folgenden Befehl aus, um diese für die Diagnose eines Kernspeicherabbilds mit lldb erforderlichen Dateien abzurufen:

dotnet-symbol --host-only --debugging <dump file path>

Problembehandlung

  • „404 Nicht gefunden“ beim Herunterladen von Symbolen

    Das Herunterladen von Symbolen wird nur für offizielle Versionen der .NET Core-Runtime unterstützt, die über offizielle Kanäle wie die offizielle Website und die Standardquellen in den dotnet-Installationsskripts erworben wurden. Der Fehler 404 beim Herunterladen von Debugdateien kann ein Hinweis darauf sein, dass das Speicherabbild mit einer .NET Core-Runtime aus einer anderen Quelle erstellt wurde, z. B. mit einer lokal vollständig selbst erstellten Version oder einer für eine bestimmte Linux-Distribution oder von Communitysites wie archlinux. In diesen Fällen sollten die für das Debuggen erforderlichen Dateien (dotnet, libcoreclr.so und libmscordaccore.so) aus diesen Quellen kopiert werden oder aus der Umgebung, in der die Speicherabbilddatei erstellt wurde.

Siehe auch