다음 Windows 10 기능 업데이트 (19H1, 2019 년 4 월 업데이트, 버전 1903)에는 인기있는 오픈 소스 디버깅 및 진단 도구 인 DTrace에 대한 지원이 포함됩니다. 원래 Solaris 용으로 빌드되었으며 Linux, FreeBSD, NetBSD 및 macOS에서 사용할 수있게되었습니다. Microsoft는이를 Windows로 포팅했습니다.
광고
DTrace는 관리자 또는 개발자가 사용자 또는 커널 모드에서 시스템을 실시간으로 볼 수있는 동적 추적 프레임 워크입니다. DTrace에는 추적 점을 동적으로 삽입 할 수있는 C 스타일의 고급 수준의 강력한 프로그래밍 언어가 있습니다. 이러한 동적으로 삽입 된 추적 점을 사용하여 조건 또는 오류를 필터링하고 코드를 작성하여 잠금 패턴을 분석하고 교착 상태를 감지 할 수 있습니다.
모든 사용자의 모든 인스 타 그램 사진을 온라인으로 다운로드
Windows에서 DTrace는 정적이며 런타임에 추적 지점을 프로그래밍 방식으로 삽입하는 기능을 제공하지 않는 ETW (Windows 용 이벤트 추적)를 확장합니다.
dtrace.sys에서 사용하는 모든 API 및 기능은 문서화 된 호출입니다.
마인 크래프트에서 재고 유지를 어떻게 켜?
Microsoft는 다양한 시스템 모니터링 역할을 수행 할 수있는 Windows 10 용 특수 드라이버를 구현했습니다. 이 드라이버는 Windows 10 버전 1903에 포함됩니다. 또한 DTrace는 현재 커널 디버거를 활성화 한 상태에서 Windows를 시작해야합니다.
이식 된 DTrace 도구의 소스 코드는 GitHub에서 사용할 수 있습니다. 페이지 방문 ' Windows의 DTrace ”을 참조하여 GitHub의 OpenDTrace 프로젝트 아래에 있습니다.
Windows 10에서 DTrace 설정
기능 사용을위한 전제 조건
- Windows 10 내부자 빌드 18342 또는 더 높게
- 다음에서만 사용 가능 x64 Windows 및 64 비트 프로세스에 대해서만 추적 정보 캡처
- Windows 참가자 프로그램 이다 활성화 됨 과 구성된 유효한 Windows 참가자 계정
- 자세한 내용은 설정-> 업데이트 및 보안-> Windows 참가자 프로그램을 방문하십시오.
명령:
Windows Media Player를 사용하여 wav를 mp3로 변환하는 방법
- BCD 구성 세트 :
- bcdedit / dtrace 설정
- 새 참가자 빌드로 업그레이드하는 경우 bcdedit 옵션을 다시 설정해야합니다.
- 다운로드 DTrace 패키지를 다운로드 센터 .
- 이렇게하면 DTrace가 작동하는 데 필요한 사용자 모드 구성 요소, 드라이버 및 주문형 추가 기능이 설치됩니다.
- 선택 사항 : PATH 환경 변수 포함하는 C : Program Files DTrace
- PATH = % PATH %; 'C : Program Files DTrace'설정
- 설정 기호 경로
- 기호를 로컬로 캐싱하기위한 새 디렉토리를 만듭니다. 예 : mkdir c : symbols
- 세트 _NT_SYMBOL_PATH = srv * C : symbols * http://msdl.microsoft.com/download/symbols
- DTrace는 기호 서버에서 필요한 기호를 자동으로 다운로드하고 로컬 경로에 캐시합니다.
- 선택 과목: 커널 디버거 설정 대상 머신에 연결 ( MSDN 링크 ). 이것은 뿐 FBT 또는 다른 공급자를 사용하여 커널 이벤트를 추적하려는 경우 필요합니다.
- 커널 디버거를 설정하려면 C :( 활성화 된 경우)에서 Secureboot 및 Bitlocker를 비활성화해야합니다.
- 재부팅 타겟 머신
DTrace 사용
- 열기 상승 된 명령 프롬프트 .
- 다음 명령 중 하나를 실행하십시오.
# 5 초 동안 프로그램 별 Syscall 요약 : dtrace -Fn 'tick-5sec {exit (0);} syscall ::: entry {@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 ::: syscall 공급자에서 사용할 수있는 모든 프로브와 해당 매개 변수를 나열합니다.
다음은 Windows에서 사용할 수있는 일부 공급자와 이들이 계측하는 것입니다.
- 시스템 콜 – NTOS 시스템 호출
- fbt (함수 경계 추적) – 커널 함수 입력 및 반환
- pid – 사용자 모드 프로세스 추적. 커널 모드 FBT와 비슷하지만 임의 함수 오프셋의 계측도 허용합니다.
- sth (Windows 용 이벤트 추적) – ETW에 대해 프로브를 정의 할 수 있습니다.이 공급자는 DTrace의 기존 운영 체제 계측을 활용하는 데 도움이됩니다.
- 이것은 Windows가 이미 제공하는 모든 정보를 노출하고 얻을 수 있도록 DTrace에 추가 한 사항 중 하나입니다. ETW .
Windows 시나리오에 적용 할 수있는 더 많은 샘플 스크립트는 여기에서 찾을 수 있습니다. 샘플 디렉토리 .
출처: 마이크로 소프트