Windows Tips & News

DTrace di Windows Menerima Pembaruan 20H1 dengan Dukungan ARM64

DIREKOMENDASIKAN: Klik di sini untuk memperbaiki masalah Windows dan mengoptimalkan kinerja sistem

DTrace adalah alat debugging dan diagnostik open source yang populer. Ini awalnya dibuat untuk Solaris, dan tersedia untuk Linux, FreeBSD, NetBSD, dan macOS. Microsoft telah mem-porting-nya ke Windows, dan menambahkan sebagian pembaruan ke dalamnya dengan pembaruan fitur 20H1.

Iklan

DTrace adalah kerangka kerja penelusuran dinamis yang memungkinkan admin atau pengembang untuk melihat sistem secara real-time baik dalam mode pengguna atau kernel. DTrace memiliki gaya C tingkat tinggi dan bahasa pemrograman yang kuat yang memungkinkan Anda untuk memasukkan titik jejak secara dinamis. Dengan menggunakan titik jejak yang dimasukkan 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 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 didokumentasikan.

Dtrace Di Windows

Microsoft telah menerapkan driver khusus untuk Windows 10 yang memungkinkan melakukan sejumlah peran pemantauan sistem. Driver dibangun di Windows 10 mulai dari versi 1903.

Mulai dari Windows 10 insider build 19041.21, DTrace hadir dengan peningkatan berikut.

Isibersembunyi
Pratinjau ARM64
Mode pengguna Stackwalk
Dukungan pembuangan langsung
Pelacakan ETW

Pratinjau ARM64

Ya itu betul! DTrace sekarang mendukung ARM64 dalam mode pratinjau. MSI ARM64 tersedia di tautan unduhan yang tercantum di atas.

Anda dapat menggunakannya pada Anda Permukaan Pro X menjalankan Windows 10 Insider Preview (20H1) build terbaru, dimulai dengan 19041.21.

Dtrace Di LenganDTrace di Surface Pro X

Mode pengguna Stackwalk

Pada preview, fasilitas stackwalk di DTrace terbatas pada mode Kernel (stack). Pembaruan ini menambahkan dukungan untuk fasilitas stackwalk usermode (ustack). Seperti halnya stack, fasilitas ustack sepenuhnya kompatibel dengan spesifikasi DTrace open source. Itu dapat dipanggil dalam tiga cara dengan menentukan bingkai (kedalaman) & ukuran (diabaikan untuk saat ini) atau batal.

  • Ustack (nframe, ukuran)
  • Ustack (nframe)
  • Ustack()

Sementara ustack () dapat menentukan alamat dari frame pemanggil saat probe diaktifkan, frame stack akan tidak diterjemahkan ke dalam simbol sampai tindakan ustack () diproses pada mode pengguna oleh konsumen DTrace. Download simbol dapat memperlambat output. Oleh karena itu, lebih baik menggunakan fasilitas ini dengan simbol yang di-cache secara lokal seperti di bawah ini.

dtrace -n "profile-1ms /arg1/ {ustack (50, 0); exit (0);} " -y C:\symbols. dtrace: deskripsi 'profile-1ms' cocok dengan 1 probe. FUNGSI ID CPU: NAMA 0 3802 :profile-1ms ntdll`ZwAllocateVirtualMemory+0x14 ntdll`RtlAllocateHeap+0x3ded ntdll`RtlAllocateHeap+0x763 ucrtbase`malloc_base+0x44

Dukungan pembuangan langsung

Windows biasanya menggunakan sesuatu yang disebut Tempat pembuangan langsung untuk membantu mendiagnosis masalah dengan cepat. Live dump membantu pemecahan masalah yang melibatkan banyak proses atau masalah di seluruh sistem tanpa waktu henti. Di 20H1, DTrace di Windows dapat digunakan untuk menangkap live dump dari dalam skrip-D menggunakan lkd() fasilitas DTrace. Kasus penggunaan yang umum dari fasilitas ini adalah untuk jalur kesalahan instrumen (seperti kode pengembalian menunjukkan kegagalan) dan menangkap dump langsung tepat di titik kegagalan untuk diagnostik lanjutan. Untuk informasi lebih lanjut tentang dukungan live dump, lihat DTrace Live Dump.

dtrace -wn "syscallreturn { if (arg0 != 0xc0000001UL) { lkd (0); printf(\"Memicu Live dump \n \");exit (0); }}" dtrace: deskripsi 'syscallreturn' cocok dengan 1411 probe. dtrace: memungkinkan tindakan destruktif. ID CPU FUNGSI: NAMA 0 181 NtDeviceIoControlFile: return Memicu Live dump dir c:\Windows\LiveKernelReports Volume di drive C tidak memiliki label. Volume Serial Number adalah 70F4-B9F6 Direktori c:\Windows\LiveKernelReports 05/11/2019 17:20<DIR>. 05/11/2019 17:20 <DIR>.. 11/05/2019 17:19 <DIR> DTRACE. 11/05/2019 05:20 PM 53,395.456 DTRACE-20191105-1720.dmp. 

Pelacakan ETW

pelacakan ETW adalah alat yang paling sering digunakan untuk debugging pada Windows. Di DTrace pada pratinjau Windows 19H1, kami menambahkan dukungan untuk menginstrumentasikan peristiwa yang dilacak dan dimanifestasikan menggunakan: penyedia ETW.

Di 20H1, kami semakin meningkatkan fasilitas ini untuk membuat acara ETW baru dengan cepat dari dalam skrip-D menggunakan ETW_Jejak() fasilitas. Ini membantu dalam situasi di mana peristiwa ETW yang ada tidak mencukupi dan Anda ingin menambahkan titik jejak ETW tambahan tanpa mengubah kode produksi.

Untuk informasi lebih lanjut tentang ETW_Jejak fasilitas dan penyedia ETW, Lihat DTrace ETW.

/* Menjalankan contoh penyedia GitHub ETW (tautan di bawah) untuk mencetak event info memori node. https://github.com/microsoft/DTrace-on-Windows/blob/master/samples/windows/etw/numamemstats.d. */ dtrace -qs numamemstats.d ID Partisi: 0. Hitung: 1. Nomor simpul: 1. m_nodeinfo { uint64_t TotalPageCount = 0x1fb558 uint64_t SmallFreePageCount = 0x41 uint64_t SmallZeroPageCount = 0 uint64_t MediumFreePageCount = 0 uint64_t MediumZeroPageCount = 0 uint64_t LargeFreePageCount = 0 uint64_t LargeZeroPageCount = 0 uint64_t HugeFreePageCount = 0 uint64_t HugeZeroPageCount = 0. }

Jika Anda tertarik untuk menginstal DTrace, lihat cara melakukannya di sini.

Anda dapat mengunduh paket DTrace MSI yang diperbarui dari sini.

Ini dia Kode sumber dan skrip tingkat lanjut.

Sumber

DIREKOMENDASIKAN: Klik di sini untuk memperbaiki masalah Windows dan mengoptimalkan kinerja sistem
Opera 57 keluar

Opera 57 keluar

Hari ini, tim di balik browser Opera merilis versi baru dari produk mereka. Opera 57.0.3098.6 sek...

Baca lebih banyak

Tema Kuda untuk Windows 8

Situs web ini menggunakan cookie untuk meningkatkan pengalaman Anda saat menavigasi situs web. Da...

Baca lebih banyak

Daftar Perbaikan dan Masalah yang Diketahui di Windows 10 Build 15031

Situs web ini menggunakan cookie untuk meningkatkan pengalaman Anda saat menavigasi situs web. Da...

Baca lebih banyak