Stažení symbolu (dotnet-symbol)
Tento článek se vztahuje na: ✔️ .NET Core 2.1 SDK a novější verze
Instalace
Pokud chcete nainstalovat nejnovější verzi dotnet-symbol
balíčku NuGet, použijte příkaz dotnet tool install :
dotnet tool install --global dotnet-symbol
Synopse
dotnet-symbol [-h|--help] [options] <FILES>
Popis
Globální dotnet-symbol
nástroj stáhne soubory (symboly, DAC, moduly atd.) potřebné k ladění základních výpisů paměti a minidumps. To může být užitečné při ladění výpisů paměti zachycených na jiném počítači. dotnet-symbol
může stahovat moduly a symboly potřebné k analýze výpisu.
Možnosti
--microsoft-symbol-server
Přidat
http://msdl.microsoft.com/download/symbols
cestu k serveru symbolů (výchozí).--server-path <symbol server path>
Přidejte server symbolů do cesty k serveru.
authenticated-server-path <pat> <server path>
Přidejte ověřený server symbolů do cesty k serveru pomocí tokenu PAT (Personal Access Token).
--cache-directory <file cache directory>
Přidá adresář mezipaměti.
--recurse-subdirectories
Zpracování vstupních souborů ve všech podadresářích
--host-only
Stáhněte pouze hostitelský program (tj. dotnet), který lldb potřebuje k načtení výpisů paměti jádra.
--symbols
Stažení souborů symbolů (.pdb, .dbg, .trpaslík).
--modules
Stáhněte si soubory modulu (.dll, .so, .dylib).
--debugging
Stáhněte si speciální ladicí moduly (DAC, DBI, SOS).
--windows-pdbs
Vynuťte stahování souborů PDB systému Windows, pokud jsou k dispozici také přenosné soubory PDB.
-o, --output <output directory>
Nastavte výstupní adresář. Jinak zapište vedle vstupního souboru (výchozí).
-d, --diagnostics
Povolte diagnostický výstup.
-h|--help
Zobrazuje nápovědu k příkazovému řádku.
Stažení symbolů
Spuštěním dotnet-symbol
souboru s výpisem paměti se ve výchozím nastavení stáhnou všechny moduly, symboly a soubory DAC/DBI potřebné k ladění výpisu paměti včetně spravovaných sestavení. Vzhledem k tomu, že SOS teď může v případě potřeby stahovat symboly, většinu výpisů paměti jádra Linuxu je možné analyzovat pomocí lldb pouze s hostitelskými moduly (dotnet) a laděním. Pokud chcete získat tyto soubory potřebné k diagnostice výpisu paměti jádra pomocí příkazu lldb, spusťte:
dotnet-symbol --host-only --debugging <dump file path>
Odstraňování potíží
404 Nenalezena při stahování symbolů.
Stahování symbolů je podporováno pouze pro oficiální verze modulu runtime .NET Core získané prostřednictvím oficiálních kanálů, jako jsou oficiální webové stránky a výchozí zdroje v instalačních skriptech dotnet. Chyba 404 při stahování souborů ladění může znamenat, že se výpis paměti vytvořil s modulem runtime .NET Core z jiného zdroje, například z místního zdroje nebo pro konkrétní linuxovou distribuci nebo z komunitních webů, jako je archlinux. V takových případech by se soubor nezbytný pro ladění (dotnet, libcoreclr.so a libmscordaccore.so) měl zkopírovat z těchto zdrojů nebo z prostředí, ve které byl soubor s výpisem paměti vytvořen.