DTrace adalah kerangka penelusuran dinamis yang memungkinkan admin atau pengembang melihat sistem secara real-time baik dalam mode pengguna atau kernel. DTrace memiliki bahasa pemrograman tingkat tinggi dan kuat gaya C yang memungkinkan Anda memasukkan titik jejak secara dinamis. Dengan menggunakan titik jejak yang disisipkan secara dinamis ini, Anda dapat memfilter kondisi atau kesalahan, menulis kode untuk menganalisis pola kunci, mendeteksi kebuntuan, dll.
Di Windows, DTrace memperluas Pelacakan Peristiwa untuk Windows (ETW) yang bersifat statis dan tidak menyediakan kemampuan untuk menyisipkan titik jejak secara terprogram saat runtime.
Semua API dan fungsionalitas yang digunakan oleh dtrace.sys adalah panggilan yang terdokumentasi.
Microsoft telah menerapkan driver khusus untuk Windows 10 yang memungkinkan melakukan sejumlah peran pemantauan sistem. Driver akan disertakan dengan Windows 10 versi 1903. Selain itu, DTrace saat ini memerlukan Windows untuk dimulai dengan debugger kernel yang diaktifkan.
Kode sumber untuk alat DTrace porting tersedia di GitHub. Kunjungi halamannya DTrace di Windowsdi bawah proyek OpenDTrace di GitHub untuk melihatnya.
Isi bersembunyi Siapkan DTrace di Windows 10 Menggunakan DTraceSiapkan DTrace di Windows 10
Prasyarat untuk menggunakan fitur ini
- Orang dalam Windows 10membangun 18342atau lebih tinggi
- Hanya tersedia dix64Windows dan menangkap info penelusuran hanya untuk proses 64-bit Program Windows Insider adalahdiaktifkanDandikonfigurasidengan Akun Windows Insider yang valid
- Kunjungi Pengaturan->Pembaruan & Keamanan->Program Windows Insider untuk detailnya
Petunjuk:
- Kumpulan konfigurasi BCD:
- bcdedit /aktifkan dtrace
- Catatan, Anda perlu menyetel opsi bcdedit lagi, jika Anda meningkatkan ke build Insider baru
- Ini menginstal komponen mode pengguna, driver dan fitur tambahan sesuai permintaan paket yang diperlukan agar DTrace dapat berfungsi.
- Opsional: PerbaruiVariabel lingkungan PATHuntuk memasukkanC:Program FilesDTrace
- setel PATH=%PATH%;'C:Program FilesDTrace'
- Mempersiapkanjalur simbol
- Buat direktori baru untuk menyimpan simbol secara lokal. Contoh: mkdir c:simbol
- Mengatur_NT_SYMBOL_PATH=srv*C:simbol* http://msdl.microsoft.com/download/symbols
- DTrace secara otomatis mengunduh simbol-simbol yang diperlukan dari server simbol dan menyimpan cache ke jalur lokal.
Opsional:Siapkan debugger Kernelkoneksi ke mesin target ( Tautan MSDN). Inihanyadiperlukan jika Anda ingin melacak kejadian Kernel menggunakan FBT atau penyedia lainnya. - Perhatikan bahwa Anda perlu menonaktifkan Secureboot dan Bitlocker di C:, (jika diaktifkan), jika Anda ingin menyiapkan debugger kernel.
Menggunakan DTrace
- Buka prompt perintah yang ditinggikan.
- Jalankan salah satu perintah berikut:|_+_|
Perintahdtrace -lvn panggilan sistem:::akan mencantumkan semua probe dan parameternya yang tersedia dari penyedia syscall.
Berikut ini adalah beberapa penyedia yang tersedia di Windows dan instrumennya.
- syscall – Panggilan sistem NTOSfbt (Function Boundary Tracing) – Entri fungsi kernel dan returnpid – Pelacakan proses mode pengguna. Seperti FBT mode kernel, tetapi juga mengizinkan instrumentasi fungsi arbitrer offset.etw (Pelacakan Peristiwa untuk Windows) – Memungkinkan probe ditentukan untuk ETW Penyedia ini membantu memanfaatkan instrumentasi sistem operasi yang ada di DTrace.
- Ini adalah salah satu tambahan yang telah kami lakukan pada DTrace untuk memungkinkannya mengekspos dan mendapatkan semua informasi yang sudah disediakan oleh Windows S.T.W.
Contoh skrip lainnya yang berlaku untuk skenario Windows dapat ditemukan di sini direktori sampel.
Sumber: Microsoft