Windows Tips & News

이제 Windows에서 DTrace를 사용할 수 있습니다.

click fraud protection
권장: Windows 문제를 해결하고 시스템 성능을 최적화하려면 여기를 클릭하십시오.

다음 Windows 10 기능 업데이트(19H1, 2019년 4월 업데이트, 버전 1903)에는 널리 사용되는 오픈 소스 디버깅 및 진단 도구인 DTrace에 대한 지원이 포함됩니다. 원래 Solaris용으로 제작되었으며 Linux, FreeBSD, NetBSD 및 macOS에서 사용할 수 있게 되었습니다. Microsoft는 이를 Windows로 이식했습니다.

광고

DTrace는 관리자 또는 개발자가 사용자 또는 커널 모드에서 시스템을 실시간으로 볼 수 있도록 하는 동적 추적 프레임워크입니다. DTrace에는 추적 지점을 동적으로 삽입할 수 있는 C 스타일의 높은 수준의 강력한 프로그래밍 언어가 있습니다. 동적으로 삽입된 이러한 추적 지점을 사용하여 조건 또는 오류를 필터링하고 잠금 패턴을 분석하는 코드를 작성하고 교착 상태를 감지하는 등의 작업을 수행할 수 있습니다.

Windows에서 DTrace는 정적이며 런타임에 추적 지점을 프로그래밍 방식으로 삽입하는 기능을 제공하지 않는 Windows용 이벤트 추적(ETW)을 확장합니다.

dtrace.sys에서 사용하는 모든 API와 기능은 문서화된 호출입니다.

Windows의 Dtrace

Microsoft는 다양한 시스템 모니터링 역할을 수행할 수 있는 Windows 10용 특수 드라이버를 구현했습니다. 드라이버는 Windows 10 버전 1903에 포함됩니다. 또한 DTrace는 현재 커널 디버거가 활성화된 상태에서 Windows를 시작해야 합니다.

이식된 DTrace 도구의 소스 코드는 GitHub에서 사용할 수 있습니다. 페이지를 방문하십시오 "Windows의 DTrace"를 보려면 GitHub의 OpenDTrace 프로젝트 아래에 있습니다.

내용물숨다
Windows 10에서 DTrace 설정
DTrace 사용

Windows 10에서 DTrace 설정

기능을 사용하기 위한 전제 조건

  • 윈도우 10 내부자 빌드 18342 또는 더 높게
  • 에서만 사용 가능 x64 Windows 및 64비트 프로세스에 대한 추적 정보 캡처
  • Windows 참가자 프로그램 ~이다 활성화 그리고 구성된 유효한 Windows 참가자 계정으로
    • 자세한 내용은 설정->업데이트 및 보안->Windows 참가자 프로그램을 방문하십시오.

지침:

  1. BCD 구성 집합:
    1. bcdedit / dtrace 설정
    2. 참고로 새 Insider 빌드로 업그레이드하는 경우 bcdedit 옵션을 다시 설정해야 합니다.
  2. 다운로드 에서 DTrace 패키지를 설치합니다. 다운로드 센터.
    1. 이렇게 하면 DTrace가 작동하는 데 필요한 사용자 모드 구성 요소, 드라이버 및 주문형 추가 기능 패키지가 설치됩니다.
  3. 선택 사항: 업데이트 PATH 환경 변수 포함하는 C:\프로그램 파일\DTrace
    1. set PATH=%PATH%;"C:\Program Files\DTrace"
  4. 설정 기호 경로
    1. 기호를 로컬로 캐싱하기 위한 새 디렉터리를 만듭니다. 예: mkdir c:\symbols
    2. 세트 _NT_SYMBOL_PATH=srv*C:\symbols*http://msdl.microsoft.com/download/symbols
    3. DTrace는 기호 서버에서 필요한 기호를 자동으로 다운로드하고 로컬 경로에 캐시합니다.
  5. 선택 과목:커널 디버거 설정 대상 머신에 연결(MSDN 링크). 이것은 오직 FBT 또는 다른 공급자를 사용하여 커널 이벤트를 추적하려는 경우 필요합니다.
    1. 커널 디버거를 설정하려면 C:(활성화된 경우)에서 Secureboot 및 Bitlocker를 비활성화해야 합니다.
  6. 재부팅 대상 기계

DTrace 사용

  1. 열기 상승된 명령 프롬프트.
  2. 다음 명령 중 하나를 실행합니다.
    # 5초 동안 프로그램별 Syscall 요약: dtrace -Fn "tick-5sec { exit (0);} syscallentry{ @num[pid, execname] = count();} " # 3에 대한 타이머 설정/취소 프로그램 요약 초: dtrace -Fn "tick-3sec { exit (0);} syscall:: Nt*Timer*:entry { @[probefunc, execname, pid] = count();}" # 덤프 시스템 프로세스 커널 구조: (필요 기호 경로 설정되다) dtrace -n "BEGIN{print(*(struct nt`_EPROCESS *) nt`PsInitialSystemProcess);exit (0);}" # notepad.exe를 실행할 때 NTFS를 통한 경로 추적(KD a 필요

명령 dtrace -lvn 시스템 호출 syscall 공급자에서 사용할 수 있는 모든 프로브와 해당 매개변수를 나열합니다.

다음은 Windows에서 사용할 수 있는 일부 공급자와 해당 공급자가 계측하는 것입니다.

  • 시스템 호출 – NTOS 시스템 호출
  • fbt (함수 경계 추적) – 커널 함수 입력 및 반환
  • PID – 사용자 모드 프로세스 추적. 커널 모드 FBT와 유사하지만 임의 함수 오프셋의 계측도 허용합니다.
  • 에트 (Windows용 이벤트 추적) – ETW에 대해 프로브를 정의할 수 있습니다. 이 공급자는 DTrace에서 기존 운영 체제 계측을 활용하는 데 도움이 됩니다.
    • 이것은 Windows가 이미 제공하는 모든 정보를 노출하고 얻을 수 있도록 DTrace에 추가한 것입니다. ETW.

Windows 시나리오에 적용 가능한 더 많은 샘플 스크립트는 여기에서 찾을 수 있습니다. 샘플 디렉토리.

원천: 마이크로소프트

권장: Windows 문제를 해결하고 시스템 성능을 최적화하려면 여기를 클릭하십시오.
Windows 10 빌드 19035(20H1, 빠르고 느린 벨소리)

Windows 10 빌드 19035(20H1, 빠르고 느린 벨소리)

권장: Windows 문제를 해결하고 시스템 성능을 최적화하려면 여기를 클릭하십시오.새로운 20H1 빌드는 이제 Windows Insider에서 Fast 및 Slow Ring...

더 읽어보기

Windows는 이제 잠재적으로 원치 않는 앱을 ​​기본적으로 차단합니다.

Windows는 이제 잠재적으로 원치 않는 앱을 ​​기본적으로 차단합니다.

Windows 10 2004라고도 하는 Windows 10 2020년 5월 업데이트는 Microsoft Defender에 잠재적으로 원치 않는 새로운 앱 보호 기능을 도입했습...

더 읽어보기

Microsoft, Windows 버전 20H2 소비자 제공 속도를 늦추다

Microsoft, Windows 버전 20H2 소비자 제공 속도를 늦추다

Microsoft는 Windows 10 버전 20H2의 릴리스를 제한하고 있습니다. 에 적절한 진술이 나타났습니다. 상태 대시보드, 따라서 설정에서 다운로드 및 설치 옵션을 ...

더 읽어보기