DTrace, bir yöneticinin veya geliştiricinin, kullanıcı veya çekirdek modunda bir sistemi gerçek zamanlı olarak incelemesine olanak tanıyan dinamik bir izleme çerçevesidir. DTrace, izleme noktalarını dinamik olarak eklemenizi sağlayan C tarzı yüksek seviyeli ve güçlü bir programlama diline sahiptir. Dinamik olarak eklenen bu izleme noktalarını kullanarak koşulları veya hataları filtreleyebilir, kilit modellerini analiz etmek için kod yazabilir, kilitlenmeleri tespit edebilir vb.
Windows'ta DTrace, statik olan ve çalışma zamanında izleme noktalarını programlı olarak ekleme yeteneği sağlamayan Windows için Olay İzleme'yi (ETW) genişletir.
Dtrace.sys tarafından kullanılan tüm API'ler ve işlevler belgelenmiş çağrılardır.
Microsoft, Windows 10 için çeşitli sistem izleme rollerinin gerçekleştirilmesine olanak tanıyan özel bir sürücü uygulamıştır. Sürücü, Windows 10 sürüm 1903'e dahil edilecektir. Ayrıca, DTrace şu anda Windows'un çekirdek hata ayıklayıcısı etkinleştirilmiş olarak başlatılmasını gerektirmektedir.
Taşınan DTrace aracının kaynak kodu GitHub'da mevcuttur. Sayfayı ziyaret edin Windows'ta DTracegörmek için GitHub'daki OpenDTrace projesi altında.
İçindekiler saklamak Windows 10'da DTrace'i kurun DTrace'i kullanmaWindows 10'da DTrace'i kurun
Özelliği kullanmanın önkoşulları
- Windows 10 içeriden18342'yi oluşturveya daha yüksek
- Yalnızca şu tarihte mevcut:x64Windows ve yalnızca 64 bit işlemler için izleme bilgilerini yakalar Windows Insider ProgramıetkinleştirilmişVeyapılandırılmışgeçerli Windows Insider Hesabı ile
- Ayrıntılar için Ayarlar->Güncelleme ve Güvenlik->Windows Insider Programı'nı ziyaret edin
Talimatlar:
- BCD yapılandırma seti:
- bcdedit /dtrace'i aç
- Yeni bir Insider yapısına yükseltirseniz bcdedit seçeneğini tekrar ayarlamanız gerektiğini unutmayın.
- Bu, DTrace'in işlevsel olması için gerekli olan kullanıcı modu bileşenlerini, sürücüleri ve isteğe bağlı ek özellikleri yükler.
- İsteğe bağlı: GüncelleyinPATH ortam değişkeniiçermekC:Program DosyalarıDTrace
- set PATH=%PATH%;'C:Program FilesDTrace'
- Kurmaksembol yolu
- Sembolleri yerel olarak önbelleğe almak için yeni bir dizin oluşturun. Örnek: mkdir c:symbols
- Ayarlamak_NT_SYMBOL_PATH=srv*C:semboller* http://msdl.microsoft.com/download/symbols
- DTrace, gerekli sembolleri sembol sunucusundan otomatik olarak indirir ve yerel yola önbelleğe alır.
İsteğe bağlı:Çekirdek hata ayıklayıcısını kurunhedef makineye bağlantı ( MSDN bağlantısı). BusadeceFBT veya diğer sağlayıcıları kullanarak Çekirdek olaylarını izlemek istiyorsanız gereklidir. - Bir çekirdek hata ayıklayıcısı ayarlamak istiyorsanız C:'de Secureboot ve Bitlocker'ı (etkinse) devre dışı bırakmanız gerekeceğini unutmayın.
DTrace'i kullanma
- Yükseltilmiş bir komut istemi açın .
- Aşağıdaki komutlardan birini yürütün:|_+_|
Komutadtrace -lvn sistem çağrısı:::sistem çağrısı sağlayıcısında bulunan tüm probları ve bunların parametrelerini listeleyecektir.
Aşağıda Windows'ta bulunan sağlayıcılardan bazıları ve bunların araçları yer almaktadır.
- sistem çağrısı – NTOS sistem çağrılarıfbt (İşlev Sınırı İzleme) – Çekirdek işlev girişi ve returnpid – Kullanıcı modu süreç izleme. Çekirdek modu FBT'ye benzer, ancak aynı zamanda isteğe bağlı işlev araçlarının enstrümantasyonuna da izin verir offsets.etw (Windows için Olay İzleme) – ETW için probların tanımlanmasına izin verir Bu sağlayıcı, DTrace'deki mevcut işletim sistemi enstrümantasyonundan yararlanmaya yardımcı olur.
- Bu, Windows'un halihazırda sağladığı tüm bilgileri ortaya çıkarmasına ve elde etmesine olanak sağlamak için DTrace'e yaptığımız bir eklemedir. S.T.W.
Windows senaryolarına uygun daha fazla örnek komut dosyasını burada bulabilirsiniz örnekler dizini.
Kaynak: Microsoft