Windows Tips & News

DTrace är nu tillgängligt på Windows

click fraud protection

Nästa funktionsuppdatering för Windows 10 (19H1, April 2019 Update, version 1903) kommer att innehålla stöd för DTrace, det populära felsöknings- och diagnostikverktyget med öppen källkod. Den har ursprungligen byggts för Solaris och blev tillgänglig för Linux, FreeBSD, NetBSD och macOS. Microsoft har portat den till Windows.

DTrace är ett dynamiskt spårningsramverk som låter en administratör eller utvecklare få en realtidsinblick i ett system antingen i användar- eller kärnläge. DTrace har ett högnivå- och kraftfullt programmeringsspråk i C-stil som låter dig infoga spårpunkter dynamiskt. Genom att använda dessa dynamiskt infogade spårpunkter kan du filtrera på förhållanden eller fel, skriva kod för att analysera låsmönster, upptäcka blockerade låsningar, etc.

På Windows utökar DTrace Event Tracing för Windows (ETW) som är statisk och inte ger möjlighet att programmässigt infoga spårningspunkter under körning.

Alla API: er och funktionalitet som används av dtrace.sys är dokumenterade anrop.

Microsoft har implementerat en speciell drivrutin för Windows 10 som gör det möjligt att utföra ett antal systemövervakningsroller. Drivrutinen kommer att inkluderas med Windows 10 version 1903. Dessutom kräver DTrace för närvarande att Windows startas med en kärnfelsökning aktiverad.

Källkoden för det portade DTrace-verktyget är tillgänglig på GitHub. Besök sidan "DTrace på Windows” under OpenDTrace-projektet på GitHub för att se det.

Ställ in DTrace i Windows 10

Förutsättningar för att använda funktionen

  • Windows 10 insider byggd 18342 eller högre
  • Endast tillgänglig på x64 Windows och fångar spårningsinformation endast för 64-bitarsprocesser
  • Windows Insider-program är aktiverad och konfigurerad med ett giltigt Windows Insider-konto.
    • Besök Inställningar->Uppdatering och säkerhet->Windows Insider-program för mer information

Instruktioner:

  1. BCD-konfigurationsuppsättning:
    1. bcdedit /set dtrace på
    2. Observera att du måste ställa in alternativet bcdedit igen om du uppgraderar till en ny Insider-build
  2. Ladda ner och installera DTrace-paketet från nedladdningscenter.
    1. Detta installerar användarlägeskomponenter, drivrutiner och ytterligare funktionspaket som krävs för att DTrace ska fungera.
  3. Valfritt: Uppdatera PATH miljövariabel att inkludera C:\Program Files\DTrace
    1. set PATH=%PATH%;"C:\Program Files\DTrace"
  4. Uppstart symbol sökväg
    1. Skapa en ny katalog för cachelagring av symboler lokalt. Exempel: mkdir c:\symbols
    2. Uppsättning _NT_SYMBOL_PATH=srv*C:\symbols*http://msdl.microsoft.com/download/symbols
    3. DTrace laddar automatiskt ner de nödvändiga symbolerna från symbolservern och cachar till den lokala sökvägen.
  5. Frivillig:Ställ in kärnfelsökning anslutning till målmaskinen (MSDN-länk). Detta är endast krävs om du vill spåra Kernel-händelser med FBT eller andra leverantörer.
    1. Observera att du kommer att behöva inaktivera Secureboot och Bitlocker på C:, (om aktiverat), om du vill ställa in en kärnfelsökare.
  6. Starta om målmaskin

Använder DTrace

  1. Öppna en förhöjd kommandotolk.
  2. Kör ett av följande kommandon:
    # Syscall-sammanfattning per program i 5 sekunder: dtrace -Fn "tick-5sec { exit (0);} syscallentry{ @num[pid, execname] = count();} " # Sammanfatta timer ställ in/avbryt program för 3 sekunder: dtrace -Fn "tick-3sec { exit (0);} syscall:: Nt*Timer*:entry { @[probefunc, execname, pid] = count();}" # Dump System Process kärnstruktur: (kräver symbol väg till vara inställd) dtrace -n "BEGIN{print(*(struct nt`_EPROCESS *) nt`PsInitialSystemProcess);exit (0);}" # Spåra sökvägar genom NTFS när du kör notepad.exe (kräver KD a

Kommandot dtrace -lvn syscall kommer att lista alla sonder och deras parametrar tillgängliga från syscall-leverantören.

Följande är några av de leverantörer som är tillgängliga på Windows och vad de instrumenterar.

  • syscall – NTOS-systemanrop
  • fbt (Function Boundary Tracing) – Inmatning och returer av kärnfunktion
  • pid – Processspårning i användarläge. Som kernel-mode FBT, men också tillåter instrumentering av godtyckliga funktionsförskjutningar.
  • etw (Händelsespårning för Windows) – Tillåter att prober definieras för ETW. Denna leverantör hjälper till att dra nytta av befintlig instrumentering av operativsystem i DTrace.
    • Detta är ett tillägg vi har gjort till DTrace för att tillåta det att exponera och få all information som Windows redan tillhandahåller ETW.

Fler exempelskript som är tillämpliga för Windows-scenarier finns i detta provkatalog.

Källa: Microsoft

Microsoft har rullat ut Windows 10 build 10586.104

Microsoft har rullat ut Windows 10 build 10586.104

REKOMMENDERAD: Klicka här för att åtgärda Windows-problem och optimera systemets prestandaEn ny k...

Läs mer

Tab Groups är nu tillgängliga i Edge Canary och Dev

Tab Groups är nu tillgängliga i Edge Canary och Dev

Flikgruppering är en välbehövlig funktion i en värld där alla håller 100 öppna flikar och gnäller...

Läs mer

Kanel fick vertikalt panelstöd

Kanel fick vertikalt panelstöd

REKOMMENDERAD: Klicka här för att åtgärda Windows-problem och optimera systemets prestandaUtveckl...

Läs mer