Udostępnij za pośrednictwem


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.

Zobacz też