DTrace ialah rangka kerja pengesanan dinamik yang membolehkan pentadbir atau pembangun mendapatkan pandangan masa nyata ke dalam sistem sama ada dalam mod pengguna atau kernel. DTrace mempunyai bahasa pengaturcaraan tahap tinggi gaya C dan berkuasa yang membolehkan anda memasukkan titik surih secara dinamik. Menggunakan titik jejak yang dimasukkan secara dinamik ini, anda boleh menapis keadaan atau ralat, menulis kod untuk menganalisis corak kunci, mengesan kebuntuan, dsb.
Pada Windows, DTrace memanjangkan Penjejakan Peristiwa untuk Windows (ETW) yang statik dan tidak menyediakan keupayaan untuk memasukkan titik jejak secara pemrograman pada masa jalan.
Semua API dan fungsi yang digunakan oleh dtrace.sys adalah panggilan yang didokumenkan.
Microsoft telah melaksanakan pemacu khas untuk Windows 10 yang membolehkan melaksanakan beberapa peranan pemantauan sistem. Pemacu akan disertakan dengan Windows 10 versi 1903. Selain itu, DTrace pada masa ini memerlukan Windows dimulakan dengan penyahpepijat kernel didayakan.
Kod sumber untuk alat DTrace yang dialihkan tersedia di GitHub. Lawati halaman DTrace pada Windowsdi bawah projek OpenDTrace di GitHub untuk melihatnya.
kandungan bersembunyi Sediakan DTrace dalam Windows 10 Menggunakan DTraceSediakan DTrace dalam Windows 10
Prasyarat untuk menggunakan ciri tersebut
- Orang dalam Windows 10membina 18342atau lebih tinggi
- Hanya tersedia padax64Windows dan menangkap maklumat pengesanan hanya untuk proses 64-bit Program Windows Insider ialahdidayakandandikonfigurasikandengan Akaun Windows Insider yang sah
- Lawati Tetapan-> Kemas Kini & Keselamatan-> Program Windows Insider untuk butiran
Arahan:
- Set konfigurasi BCD:
- bcdedit / tetapkan dtrace pada
- Ambil perhatian, anda perlu menetapkan pilihan bcdedit sekali lagi, jika anda menaik taraf kepada binaan Insider baharu
- Ini memasang komponen mod pengguna, pemacu dan ciri tambahan atas permintaan pakej yang diperlukan untuk DTrace berfungsi.
- Pilihan: Kemas kiniPembolehubah persekitaran PATHuntuk memasukkanC:Program FilesDTrace
- tetapkan PATH=%PATH%;'C:Program FilesDTrace'
- Persediaanlaluan simbol
- Cipta direktori baharu untuk menyimpan simbol secara setempat. Contoh: mkdir c:symbols
- Tetapkan_NT_SYMBOL_PATH=srv*C:symbols* http://msdl.microsoft.com/download/symbols
- DTrace secara automatik memuat turun simbol yang diperlukan dari pelayan simbol dan cache ke laluan setempat.
Pilihan:Sediakan penyahpepijat kernelsambungan ke mesin sasaran ( pautan MSDN). Ini adalahsahajadiperlukan jika anda ingin menjejak acara Kernel menggunakan FBT atau pembekal lain. - Ambil perhatian bahawa anda perlu melumpuhkan Secureboot dan Bitlocker pada C:, (jika didayakan), jika anda ingin menyediakan penyahpepijat kernel.
Menggunakan DTrace
- Buka gesaan arahan yang ditinggikan.
- Jalankan salah satu daripada arahan berikut:|_+_|
Perintah itudtrace -lvn syscall:::akan menyenaraikan semua probe dan parameternya tersedia daripada pembekal syscall.
Berikut ialah beberapa pembekal yang tersedia pada Windows dan perkara yang mereka gunakan.
- syscall – NTOS system callsfbt (Function Boundary Tracing) – Entri fungsi kernel dan returnspid – Pengesanan proses mod pengguna. Seperti FBT mod kernel, tetapi juga membenarkan instrumentasi offsets fungsi arbitrari.etw (Event Tracing for Windows) – Membenarkan probe ditakrifkan untuk ETW Pembekal ini membantu memanfaatkan instrumentasi sistem pengendalian sedia ada dalam DTrace.
- Ini adalah satu tambahan yang telah kami lakukan kepada DTrace untuk membolehkannya mendedahkan dan memperoleh semua maklumat yang telah disediakan oleh Windows S.T.W.
Lebih banyak skrip sampel yang digunakan untuk senario Windows boleh didapati dalam ini direktori sampel.
Sumber: Microsoft