共用方式為


符號下載程式 (dotnet-symbol)

本文適用於: ✔️ .NET Core 2.1 SDK 與更新版本

安裝

若要安裝最新發行版本的 dotnet-symbol NuGet 套件,請使用 dotnet 工具安裝命令:

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 現在可以在需要時下載符號,所以可以使用 lldb 單獨搭配主機 (dotnet) 和偵錯模組來分析大部分的 Linux 核心傾印。 若要取得搭配 lldb 執行來診斷核心傾印所需的這些檔案:

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

疑難排解

  • 下載符號時出現「404 找不到」錯誤。

    只有透過官方通道 (例如官方網站dotnet 安裝指令碼中的預設來源) 取得的官方 .NET Core 執行階段版本才支援符號下載。 下載偵錯檔案時發生 404 錯誤,可能表示傾印是使用另一個來源的 .NET Core 執行階段所建立,例如從本機來源、特定 Linux 發行版本,或是從類似 archlinux 的社群網站所建置。 在這種情況下,偵錯 (dotnet、libcoreclr.so 和 libmscordaccore.so) 所需檔案應該複製於這些來源或建立傾印檔案的環境。

另請參閱