Téléchargeur de symboles (dotnet-symbol)
Cet article s’applique à : ✔️ SDK .NET Core 2.1 et versions ultérieures
Installer
Pour installer la dernière version de version du dotnet-symbol
package NuGet, utilisez la commande d’installation de l’outil dotnet :
dotnet tool install --global dotnet-symbol
Synopsis
dotnet-symbol [-h|--help] [options] <FILES>
Description
L’outil global dotnet-symbol
télécharge les fichiers (symboles, DAC, modules, etc.) nécessaires au débogage des vidages principaux et des minidumps. Cela peut être utile lors du débogage des vidages capturés sur un autre ordinateur. dotnet-symbol
peut télécharger des modules et des symboles nécessaires pour analyser le vidage.
Options
--microsoft-symbol-server
Ajoutez le chemin d’accès du serveur de symboles
http://msdl.microsoft.com/download/symbols
(par défaut).--server-path <symbol server path>
Ajoutez un serveur de symboles au chemin du serveur.
authenticated-server-path <pat> <server path>
Ajoutez un serveur de symboles authentifié au chemin d’accès du serveur à l’aide d’un jeton d’accès personnel (PAT).
--cache-directory <file cache directory>
Ajoute un répertoire de cache.
--recurse-subdirectories
Traitez les fichiers d’entrée dans tous les sous-répertoires.
--host-only
Téléchargez uniquement le programme hôte (c’est-à-dire dotnet) dont lldb a besoin pour charger les vidages principaux.
--symbols
Téléchargez les fichiers de symboles (.pdb, .dbg, .dwarf).
--modules
Téléchargez les fichiers de module (.dll, .so, .dylib).
--debugging
Téléchargez les modules de débogage spéciaux (DAC, DBI, SOS).
--windows-pdbs
Forcez le téléchargement des PDB Windows lorsque des PDB portables sont également disponibles.
-o, --output <output directory>
Définissez le répertoire de sortie. Autrement, écrivez en regard du fichier d’entrée (valeur par défaut).
-d, --diagnostics
Activez la sortie des diagnostics.
-h|--help
Affiche l’aide en ligne de commande.
Télécharger des symboles
L’exécution de dotnet-symbol
sur un fichier de vidage télécharge par défaut tous les modules, symboles et fichiers DAC/DBI nécessaires pour déboguer le vidage, y compris les assemblys managés. Étant donné que SOS peut désormais télécharger des symboles si nécessaire, la plupart des vidages principaux Linux peuvent être analysés à l’aide de lldb avec les modules hôtes (dotnet) et de débogage uniquement. Pour obtenir ces fichiers nécessaires pour diagnostiquer un vidage principal avec lldb, exécutez :
dotnet-symbol --host-only --debugging <dump file path>
Dépanner
404 Introuvable lors du téléchargement de symboles.
Le téléchargement de symboles est uniquement pris en charge pour les versions officielles du runtime .NET Core acquises via des canaux officiels tels que le site web officiel et les sources par défaut dans les scripts d’installation dotnet. Une erreur 404 lors du téléchargement de fichiers de débogage peut indiquer que le vidage a été créé avec un runtime .NET Core à partir d’une autre source, telle qu’une source générée localement ou pour une distribution Linux particulière, ou à partir de sites communautaires tels que archlinux. Dans ce cas, le fichier nécessaire pour le débogage (dotnet, libcoreclr.so et libmscordaccore.so) doit être copié à partir de ces sources ou de l’environnement dans lequel le fichier de vidage a été créé.