Windows Tips & News

A DTrace már elérhető Windows rendszeren

click fraud protection
AJÁNLOTT: Kattintson ide a Windows problémák megoldásához és a rendszer teljesítményének optimalizálásához

A Windows 10 következő szolgáltatásfrissítése (19H1, 2019. áprilisi frissítés, 1903-as verzió) tartalmazza majd a DTrace, a népszerű nyílt forráskódú hibakereső és diagnosztikai eszköz támogatását. Eredetileg Solarishoz készült, és elérhetővé vált Linux, FreeBSD, NetBSD és macOS számára. A Microsoft áthelyezte a Windows rendszerre.

Hirdetés

A DTrace egy dinamikus nyomkövetési keretrendszer, amely lehetővé teszi az adminisztrátorok vagy fejlesztők számára, hogy valós idejű betekintést kapjanak a rendszerbe akár felhasználói, akár kernel módban. A DTrace C-stílusú, magas szintű és hatékony programozási nyelvvel rendelkezik, amely lehetővé teszi nyomkövetési pontok dinamikus beszúrását. Ezekkel a dinamikusan beillesztett nyomkövetési pontokkal szűrhet feltételekre vagy hibákra, kódot írhat a zárolási minták elemzéséhez, holtpontok észleléséhez stb.

Windows rendszeren a DTrace kiterjeszti az Event Tracing for Windows (ETW) funkciót, amely statikus, és nem teszi lehetővé a nyomkövetési pontok programozott beszúrását futás közben.

A dtrace.sys által használt összes API és funkció dokumentált hívás.

Dtrace Windowson

A Microsoft speciális illesztőprogramot vezetett be a Windows 10 rendszerhez, amely lehetővé teszi számos rendszerfigyelő szerepkör betöltését. Az illesztőprogramot a Windows 10 1903-as verziója tartalmazza. Ezenkívül a DTrace jelenleg megköveteli, hogy a Windows rendszermag-hibakeresővel legyen elindítva.

A portolt DTrace eszköz forráskódja elérhető a GitHubon. Látogassa meg az oldalt "DTrace a Windows rendszeren” az OpenDTrace projekt alatt a GitHubon, hogy megtekinthesse.

Tartalomelrejt
A DTrace beállítása a Windows 10 rendszerben
A DTrace használata

A DTrace beállítása a Windows 10 rendszerben

A funkció használatának előfeltételei

  • Windows 10 bennfentes építése 18342 vagy magasabb
  • Csak a következőn érhető el x64 Windows és csak a 64 bites folyamatokhoz rögzíti a nyomkövetési információkat
  • Windows Insider program van engedélyezve van és konfigurálva érvényes Windows Insider fiókkal
    • Részletekért keresse fel a Beállítások->Frissítés és biztonság->Windows Insider Program menüpontot

Utasítás:

  1. BCD konfigurációs készlet:
    1. bcdedit /set dtrace on
    2. Megjegyzés: ha új Insider buildre frissít, újra be kell állítania a bcdedit beállítást
  2. Letöltés és telepítse a DTrace csomagot innen letöltési központ.
    1. Ez telepíti a DTrace működőképességéhez szükséges felhasználói módú összetevőket, illesztőprogramokat és további igény szerinti szolgáltatáscsomagokat.
  3. Opcionális: Frissítse a PATH környezeti változó hogy tartalmazza C:\Program Files\DTrace
    1. set PATH=%PATH%;"C:\Program Files\DTrace"
  4. Beállít szimbólum útja
    1. Hozzon létre egy új könyvtárat a szimbólumok helyi gyorsítótárazásához. Példa: mkdir c:\symbols
    2. Készlet _NT_SYMBOL_PATH=srv*C:\symbols*http://msdl.microsoft.com/download/symbols
    3. A DTrace automatikusan letölti a szükséges szimbólumokat a szimbólumkiszolgálóról, és gyorsítótárat tárol a helyi elérési útra.
  5. Választható:Kernel hibakereső beállítása csatlakozás a célgéphez (MSDN link). Ez csak szükséges, ha FBT vagy más szolgáltatók használatával szeretné nyomon követni a kernel eseményeit.
    1. Ne feledje, hogy le kell tiltania a Securebootot és a Bitlockert a C:-en (ha engedélyezve van), ha kernel hibakeresőt szeretne beállítani.
  6. Újraindítás célgép

A DTrace használata

  1. Nyisson meg egy emelt parancssor.
  2. Hajtsa végre a következő parancsok egyikét:
    # Syscall összegzés programonként 5 másodpercig: dtrace -Fn "tick-5sec { exit (0);} syscallentry{ @num[pid, execname] = count();} " # Összefoglalja az időzítő beállítását/megszakítását 3-ra másodperc: dtrace -Fn "tick-3sec { exit (0);} syscall:: Nt*Timer*:entry { @[probefunc, execname, pid] = count();}" # Rendszer kiíratása A folyamat kernel szerkezete: (megköveteli szimbólum elérési útja beállítva) dtrace -n "BEGIN{print(*(struct nt`_EPROCESS *) nt`PsInitialSystemProcess);exit (0);}" # Útvonalak követése NTFS-en keresztül notepad.exe futtatásakor (KD a szükséges

A parancs dtrace -lvn syscall listázza a syscall szolgáltatótól elérhető összes vizsgálót és paramétereiket.

Az alábbiakban felsorolunk néhány, a Windows rendszeren elérhető szolgáltatót és az általuk használt eszközöket.

  • syscall – NTOS rendszerhívások
  • fbt (Function Boundary Tracing) – Kernelfüggvény bevitele és visszatérések
  • pid – Felhasználói módú folyamatkövetés. Mint a kernel módú FBT, de lehetővé teszi tetszőleges függvényeltolások műszerezését is.
  • etw (Eseménykövetés Windows-hoz) – Lehetővé teszi szondák meghatározását az ETW-hez. Ez a szolgáltató segít a meglévő operációs rendszer-műszerek kihasználásában a DTrace-ben.
    • Ez egy olyan kiegészítés, amelyet a DTrace-hez tettünk annak érdekében, hogy felfedje és megszerezze az összes információt, amelyet a Windows már tartalmaz ETW.

További Windows forgatókönyvekhez használható minta szkriptek találhatók ebben minták könyvtár.

Forrás: Microsoft

AJÁNLOTT: Kattintson ide a Windows problémák megoldásához és a rendszer teljesítményének optimalizálásához
A Windows 10 Build 17758 elérte a lassú gyűrűt

A Windows 10 Build 17758 elérte a lassú gyűrűt

2 válaszA Microsoft ma kiadta a Windows 10 Insider Preview Build 17758-as verzióját a Windows Ins...

Olvass tovább

A Microsoft Edge 97 már elérhető a Béta csatornán

A Microsoft Edge 97 már elérhető a Béta csatornán

AJÁNLOTT: Kattintson ide a Windows problémák megoldásához és a rendszer teljesítményének optimali...

Olvass tovább

Mi a különbség az Edge, az Edge Beta, az Edge Dev és az Edge Canary között?

Mi a különbség az Edge, az Edge Beta, az Edge Dev és az Edge Canary között?

AJÁNLOTT: Kattintson ide a Windows problémák megoldásához és a rendszer teljesítményének optimali...

Olvass tovább