다음을 통해 공유


기호 다운로더(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는 필요할 때 기호를 다운로드할 수 있으므로 호스트(dotnet) 및 디버깅 모듈에서만 LLDB를 사용하여 대부분의 Linux 코어 덤프를 분석할 수 있습니다. LLDB를 실행하여 코어 덤프를 진단하는 데 필요한 해당 파일을 가져오려면:

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

문제 해결

  • 기호를 다운로드하는 동안 발생한 404 찾을 수 없음

    기호 다운로드는 공식 웹 사이트와 같은 공식 채널을 통해 획득한 공식 .NET Core 런타임 버전 및 dotnet 설치 스크립트의 기본 소스에서만 지원됩니다. 디버깅 파일을 다운로드하는 동안 404 오류는 로컬로 또는 특정 Linux 배포판용으로 소스에서 빌드되거나 archlinux 같은 커뮤니티 사이트에서 빌드된 덤프와 같이 또 다른 소스에서 .NET Core 런타임을 통해 덤프가 생성되었음을 나타낼 수 있습니다. 이 경우 디버깅에 필요한 파일(dotnet, libcoreclr.so 및 libmscordaccore.so)은 해당 소스에서 복사하거나 덤프 파일이 생성된 환경에서 복사해야 합니다.

참고 항목