Narzędzie pobierania symboli (dotnet-symbol)
Ten artykuł dotyczy: ✔️ zestaw .NET Core 2.1 SDK i nowsze wersje
Instalowanie
Aby zainstalować najnowszą wersję dotnet-symbol
pakietu NuGet, użyj polecenia dotnet tool install :
dotnet tool install --global dotnet-symbol
Streszczenie
dotnet-symbol [-h|--help] [options] <FILES>
opis
Narzędzie dotnet-symbol
globalne pobiera pliki (symbole, DAC, moduły itp.) potrzebne do debugowania zrzutów rdzeni i minidumps. Może to być przydatne podczas debugowania zrzutów przechwyconych na innym komputerze. dotnet-symbol
program może pobierać moduły i symbole potrzebne do przeanalizowania zrzutu.
Opcje
--microsoft-symbol-server
Dodaj
http://msdl.microsoft.com/download/symbols
ścieżkę serwera symboli (wartość domyślna).--server-path <symbol server path>
Dodaj serwer symboli do ścieżki serwera.
authenticated-server-path <pat> <server path>
Dodaj uwierzytelniony serwer symboli do ścieżki serwera przy użyciu osobistego tokenu dostępu (PAT).
--cache-directory <file cache directory>
Dodaje katalog pamięci podręcznej.
--recurse-subdirectories
Przetwarzanie plików wejściowych we wszystkich podkatalogach.
--host-only
Pobierz tylko program hosta (czyli dotnet), który będzie potrzebny do ładowania zrzutów rdzeni.
--symbols
Pobierz pliki symboli (.pdb, .dbg, .dwarf).
--modules
Pobierz pliki modułu (.dll, .so, .dylib).
--debugging
Pobierz specjalne moduły debugowania (DAC, DBI, SOS).
--windows-pdbs
Wymuś pobieranie plików PDB systemu Windows, gdy są również dostępne przenośne pliki PDB.
-o, --output <output directory>
Ustaw katalog wyjściowy. W przeciwnym razie zapisz obok pliku wejściowego (wartość domyślna).
-d, --diagnostics
Włącz dane wyjściowe diagnostyki.
-h|--help
Pokazuje pomoc wiersza polecenia.
Pobierz symbole
Uruchamianie dotnet-symbol
względem pliku zrzutu spowoduje domyślnie pobranie wszystkich modułów, symboli i plików DAC/DBI wymaganych do debugowania zrzutu, w tym zarządzanych zestawów. Ponieważ sos może teraz pobierać symbole w razie potrzeby, większość zrzutów rdzeni systemu Linux można analizować przy użyciu bazy danych lldb tylko z hostem (dotnet) i modułami debugowania. Aby uzyskać te pliki niezbędne do diagnozowania podstawowego zrzutu za pomocą polecenia lldb run:
dotnet-symbol --host-only --debugging <dump file path>
Rozwiązywanie problemów
404 Nie znaleziono podczas pobierania symboli.
Pobieranie symboli jest obsługiwane tylko w przypadku oficjalnych wersji środowiska uruchomieniowego platformy .NET Core uzyskanych za pośrednictwem oficjalnych kanałów, takich jak oficjalna witryna internetowa i domyślne źródła w skryptach instalacji dotnet. Błąd 404 podczas pobierania plików debugowania może wskazywać, że zrzut został utworzony przy użyciu środowiska uruchomieniowego platformy .NET Core z innego źródła, takiego jak jeden utworzony lokalnie ze źródła lub dla określonej dystrybucji systemu Linux lub z witryn społeczności, takich jak archlinux. W takich przypadkach plik niezbędny do debugowania (dotnet, libcoreclr.so i libmscordaccore.so) należy skopiować z tych źródeł lub ze środowiska, w których został utworzony plik zrzutu.