Szimbólumletöltő (dotnet-symbol)

Ez a cikk a következő verziókra vonatkozik: ✔️ .NET Core 2.1 SDK és újabb verziók

Telepítés

A NuGet-csomag legújabb kiadási verziójának dotnet-symbol telepítéséhez használja a dotnet eszköz telepítési parancsát:

dotnet tool install --global dotnet-symbol

Áttekintés

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

Leírás

A dotnet-symbol globális eszköz letölti az alapvető memóriaképek és minidumpok hibakereséséhez szükséges fájlokat (szimbólumokat, DAC-okat, modulokat stb.). Ez hasznos lehet egy másik gépen rögzített memóriaképek hibakeresése során. dotnet-symbol a memóriakép elemzéséhez szükséges modulokat és szimbólumokat töltheti le.

Beállítások

  • --microsoft-symbol-server

    Szimbólumkiszolgáló elérési útjának hozzáadása http://msdl.microsoft.com/download/symbols (alapértelmezett).

  • --server-path <symbol server path>

    Adjon hozzá egy szimbólumkiszolgálót a kiszolgáló elérési útjára.

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

    Adjon hozzá egy hitelesített szimbólumkiszolgálót a kiszolgáló elérési útjára egy személyes hozzáférési jogkivonat (PAT) használatával.

  • --cache-directory <file cache directory>

    Hozzáad egy gyorsítótár-könyvtárat.

  • --recurse-subdirectories

    A bemeneti fájlok feldolgozása az összes alkönyvtárban.

  • --host-only

    Töltse le csak azt a gazdagépprogramot (azaz a dotnetet), amelyre az lldb-nek szüksége van az alapvető memóriaképek betöltéséhez.

  • --symbols

    Szimbólumfájlok letöltése (.pdb, .dbg, .törpe).

  • --modules

    Töltse le a modulfájlokat (.dll, .so, .dylib).

  • --debugging

    Töltse le a speciális hibakeresési modulokat (DAC, DBI, SOS).

  • --windows-pdbs

    Kényszerítse a Windows PDF-fájlok letöltését, ha hordozható PDF-fájlok is elérhetők.

  • -o, --output <output directory>

    Állítsa be a kimeneti könyvtárat. Ellenkező esetben írjon a bemeneti fájl mellett (alapértelmezett).

  • -d, --diagnostics

    Diagnosztikai kimenet engedélyezése.

  • -h|--help

    A parancssori súgót jeleníti meg.

Szimbólumok letöltése

A memóriaképfájlon való futtatás dotnet-symbol alapértelmezés szerint letölti a memóriakép hibakereséséhez szükséges összes modult, szimbólumot és DAC/DBI-fájlt, beleértve a felügyelt szerelvényeket is. Mivel az SOS mostantól szükség esetén letölthet szimbólumokat, a legtöbb Linux-mag memóriaképe elemezhető a csak a gazdagépet (dotnet) és hibakeresési modulokat tartalmazó lldb használatával. Az lldb-futtatású core dump diagnosztizálásához szükséges fájlok lekérése:

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

Hibaelhárítás

  • 404 Nem található a szimbólumok letöltésekor.

    A szimbólumok letöltése csak a hivatalos csatornákon keresztül beszerzett hivatalos .NET Core-futtatókörnyezeti verziók esetében támogatott, például a hivatalos webhelyen és a dotnet telepítési szkriptjeinek alapértelmezett forrásaiban. A hibakeresési fájlok letöltésekor 404-es hiba azt jelezheti, hogy a memóriakép egy .NET Core-futtatókörnyezettel jött létre egy másik forrásból, például egy helyi forrásból vagy egy adott Linux-disztribúcióból, vagy olyan közösségi webhelyekről, mint az archlinux. Ilyen esetekben a hibakereséshez szükséges fájlt (dotnet, libcoreclr.so és libmscordaccore.so) át kell másolni ezekből a forrásokból vagy abból a környezetből, amelyben a memóriaképfájlt létrehozták.

Lásd még