Ang DTrace ay isang dynamic na tracing framework na nagbibigay-daan sa isang admin o developer na makakuha ng real-time na pagtingin sa isang system sa user man o kernel mode. Ang DTrace ay may mataas na antas ng C-style at malakas na programming language na nagbibigay-daan sa iyong dynamic na magpasok ng mga trace point. Gamit ang mga dynamic na ipinasok na trace point na ito, maaari kang mag-filter sa mga kundisyon o mga error, magsulat ng code upang suriin ang mga pattern ng lock, makakita ng mga deadlock, atbp.
Sa Windows, pinalawak ng DTrace ang Event Tracing para sa Windows (ETW) na static at hindi nagbibigay ng kakayahang magpasok ng mga trace point sa oras ng pagtakbo gamit ang program.
Ang lahat ng API at functionality na ginagamit ng dtrace.sys ay mga dokumentadong tawag.
Nagpatupad ang Microsoft ng isang espesyal na driver para sa Windows 10 na nagbibigay-daan sa pagsasagawa ng ilang mga tungkulin sa pagsubaybay sa system. Ang driver ay isasama sa Windows 10 na bersyon 1903. Gayundin, ang DTrace ay kasalukuyang nangangailangan ng Windows na magsimula sa isang kernel debugger na pinagana.
Ang source code para sa naka-port na tool na DTrace ay available sa GitHub. Bisitahin ang pahina DTrace sa Windowssa ilalim ng proyekto ng OpenDTrace sa GitHub upang makita ito.
Mga nilalaman tago I-setup ang DTrace sa Windows 10 Gamit ang DTraceI-setup ang DTrace sa Windows 10
Mga kinakailangan para sa paggamit ng tampok
- Windows 10 insiderbumuo ng 18342o mas mataas
- Available lang sax64Windows at kumukuha ng tracing info para lang sa 64-bit na proseso Ang Windows Insider Program aypinaganaatnaka-configurena may wastong Windows Insider Account
- Bisitahin ang Mga Setting->I-update at Seguridad->Windows Insider Program para sa mga detalye
Mga Tagubilin:
- Set ng configuration ng BCD:
- bcdedit /set dtrace on
- Tandaan, kailangan mong itakda muli ang bcdedit na opsyon, kung mag-a-upgrade ka sa isang bagong Insider build
- Ini-install nito ang mga bahagi ng user mode, driver at karagdagang feature on demand na mga pakete na kinakailangan para gumana ang DTrace.
- Opsyonal: I-update angvariable ng kapaligiran ng PATHupang isamaC:Program FilesDTrace
- itakda ang PATH=%PATH%;'C:Program FilesDTrace'
- Setuplandas ng simbolo
- Lumikha ng bagong direktoryo para sa pag-cache ng mga simbolo nang lokal. Halimbawa: mkdir c:symbols
- Itakda_NT_SYMBOL_PATH=srv*C:symbols* http://msdl.microsoft.com/download/symbols
- Awtomatikong dina-download ng DTrace ang mga simbolo na kinakailangan mula sa server ng simbolo at mga cache sa lokal na landas.
Opsyonal:I-setup ang Kernel debuggerkoneksyon sa target na makina ( Link ng MSDN). Ito aylamangkinakailangan kung gusto mong i-trace ang mga kaganapan sa Kernel gamit ang FBT o iba pang mga provider. - Tandaan na kakailanganin mong huwag paganahin ang Secureboot at Bitlocker sa C:, (kung pinagana), kung gusto mong mag-setup ng kernel debugger.
Gamit ang DTrace
- Magbukas ng nakataas na command prompt .
- Isagawa ang isa sa mga sumusunod na utos:|_+_|
Ang utosdtrace -lvn syscall:::ay ililista ang lahat ng mga probe at ang kanilang mga parameter na magagamit mula sa syscall provider.
Ang mga sumusunod ay ilan sa mga provider na available sa Windows at kung ano ang kanilang instrumento.
- syscall – NTOS system callsfbt (Function Boundary Tracing) – Kernel function entry at returnspid – User-mode process tracing. Tulad ng kernel-mode na FBT, ngunit pinapayagan din ang instrumentation ng arbitrary function offsets.etw (Event Tracing para sa Windows) – Nagbibigay-daan sa mga probe na tukuyin para sa ETW Tumutulong ang provider na ito na gamitin ang umiiral nang operating system instrumentation sa DTrace.
- Isa itong karagdagan na ginawa namin sa DTrace upang payagan itong ilantad at makuha ang lahat ng impormasyong ibinibigay na ng Windows S.T.W.
Higit pang mga sample na script na naaangkop para sa mga sitwasyon sa Windows ay matatagpuan dito direktoryo ng sample.
Pinagmulan: Microsoft