シンボル ダウンローダー (dotnet-symbol)

この記事の対象: ✔️ .NET Core 2.1 SDK 以降のバージョン

インストール

dotnet-symbol NuGet パッケージの最新のリリース バージョンをインストールするには、次のように dotnet tool install コマンドを使用します。

dotnet tool install --global dotnet-symbol

構文

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

説明

dotnet-symbol グローバル ツールによって、コア ダンプとミニダンプのデバッグに必要なファイル (シンボル、DAC、モジュールなど) をダウンロードできます。 これは、別のコンピューターでキャプチャされたダンプをデバッグするときに便利です。 dotnet-symbol を使用すると、ダンプを分析するために必要なモジュールとシンボルをダウンロードできます。

[オプション]

  • --microsoft-symbol-server

    http://msdl.microsoft.com/download/symbols シンボル サーバー パス (既定) を追加します。

  • --server-path <symbol server path>

    サーバー パスにシンボル サーバーを追加します。

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

    個人用アクセス トークン (PAT) を使用して、認証済みのシンボル サーバーをサーバー パスに追加します。

  • --cache-directory <file cache directory>

    キャッシュ ディレクトリを追加します。

  • --recurse-subdirectories

    すべてのサブディレクトリの入力ファイルを処理します。

  • --host-only

    lldb でコア ダンプを読み込むために必要なホスト プログラム (つまり dotnet) のみをダウンロードします。

  • --symbols

    シンボル ファイル (.pdb、.dbg、.dwarf) をダウンロードします。

  • --modules

    モジュール ファイル (.dll、.so、.dylib) をダウンロードします。

  • --debugging

    特別なデバッグ モジュール (DAC、DBI、SOS) をダウンロードします。

  • --windows-pdbs

    ポータブル PDB も使用できる場合は、Windows PDB を強制的にダウンロードします。

  • -o, --output <output directory>

    出力ディレクトリを設定します。 それ以外の場合は、入力ファイルの次に書き込みます (既定)。

  • -d, --diagnostics

    診断出力を有効にします。

  • -h|--help

    コマンド ライン ヘルプを表示します。

シンボルをダウンロードする

ダンプ ファイルに対して dotnet-symbol を実行すると、既定では、マネージド アセンブリを含むダンプのデバッグに必要なすべてのモジュール、シンボル、および DAC (または DBI) ファイルがダウンロードされます。 SOS で必要に応じてシンボルをダウンロードできるようになったため、ほとんどの Linux コア ダンプは、ホスト (dotnet) モジュールとデバッグ モジュールのみを含む lldb を使用して分析できます。 lldb を使用してコア ダンプを診断するために必要なこれらのファイルを取得するには、次のように実行します。

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

トラブルシューティング

  • シンボルのダウンロード中の 404 Not Found。

    シンボルのダウンロードは、公式 Web サイトなどの公式チャネルを通じて取得された公式の .NET Core ランタイム バージョンと、dotnet インストール スクリプト内の既定のソースでのみサポートされています。 デバッグ ファイルのダウンロード中に 404 エラーが発生した場合は、ダンプが別のソースの .NET Core ランタイムを使って作成されたことが示されている可能性があります。たとえば、ソースからローカルに構築されたものや、特定の Linux ディストリビューション用のもの、または archlinux のようなコミュニティ サイトから作成されたものです。 このような場合は、デバッグに必要なファイル (dotnet、libcoreclr.so、libmscordaccore.so) を、それらのソースから、またはダンプ ファイルが作成された環境からコピーする必要があります。

関連項目