Windows 10: DTrace ile bu rahatsız edici hatayı nasıl takip edebilirim?

Microsoft, geliştiricilerin Windows kodunda hata ayıklamasına yardımcı olmak için popüler açık izleme aracını uygulamıştır.

Karmaşık uygulamalar oluşturmak için Unix veya Linux kullanıyorsanız, DTrace. Başlangıçta Sun tarafından geliştirilen, donanımdan işletim sistemine, uygulamalarınıza kadar çalışan bir sistemde olup bitenlerin çoğunu incelemenizi sağlayan dinamik bir izleme aracıdır. Bu güçlü araç, kodunuzun hata ayıklamasına ve ayarlanmasına yardımcı olabilecek birçok bilgi sağlar.

DTrace nedir?

Komut satırını ve kendi kodlama dilini (D) kullanarak, izleme programlarını yazabilir, enstrümantasyon problarına eylemler atayabilirsiniz. DTrace probunu, işletim sisteminize veya kodunuza bağlı bir multimetre kablosu olarak düşünebilir, belirli bir koşulun karşılanmasını bekleyebilir ve ardından uygun bilgileri kaydedebilirsiniz. DTrace'in avantajlarından biri, olayların nasıl ilişkili olduğunu anlamanız için gereken araçları sağlayan ve geleneksel hata ayıklama araçlarının saptamayacağı karmaşık hataları izlemeye yardımcı olan birden fazla prob kullanma yeteneğidir.

Birçok hata ayıklama aracının kodunuzun performansını etkileyeceği durumlarda, DTrace mümkün olduğunca az etkiye sahip olacak şekilde tasarlanmıştır. Bu önemli bir fark ve yüzlerce hatta binlerce prob olmasına izin veren bir fark. Modern dağıtılmış uygulamalarla iyi çalışan bir modeldir, çünkü mikro hizmetlerin nasıl çalıştığını gösterir ve daha önce sahip olmadığınız gözlemlenebilirliği sağlar.

DTrace'in D dili C gibi tasarlanmıştır, bu yüzden öğrenmesi zor değildir. Komut dosyalarında kullanılan aynı sözdizimi, probları belirli işlemlere hızlı bir şekilde yerleştirmek ve sonuçları ekranda göstermek için kullanılan komut satırı çağrılarında kullanılır. Komut satırı, komut dosyalarını test etmeye ve hata ayıklamaya yardımcı olabilir; probları daha karmaşık bir sete eklemeden önce etkileşimli olarak deneyebilir, diğer probları çalıştırmak için kullanılabilecek çıkışların formatını anlayabilirsiniz.

Microsoft'un uygulaması

Microsoft şimdi DTrace'i Windows'a taşıdı, bina DTrace'i aç kod ve belirtme, Windows için Olay İzleme desteğiyle belirli Windows özellikleri ekleme (ETW), Windows sistem çağrıları ve Windows İşlem Kimlikleri için. Windows'un Unix ve Unix'ten türetilen işletim sistemlerinden çok farklı bir mimari modeli olsa da, özellikle Windows'a özgü izleme özelliklerini kullanıyorsanız DTrace'in Windows ile iyi çalıştığını görmelisiniz.

Windows kendi ETW izleme araçlarına sahip olsa da, statiktir ve kodunuza yerleştirilmesi gerekir. DTrace dinamiktir ve çalışma kodunu hızlı bir şekilde çalıştırabilmenizi ve çalışan kodu izlemenizi sağlayan çalışma zamanında çalışabilme avantajına sahiptir. Bir üretim sistemini hızlıca kullanmak, bir sorunu gidermek için gereken ayrıntıları almak, işiniz bittiğinde DTrace araçlarını ve yapılandırmasını kaldırmak bile mümkündür.

<a href = "https://tr3.cbsistatic.com/hub/i/2020/04/06/9ffc8110-45fb-4ff3-9c57-429dceb07941/dtrace-on-windows.jpg" target = "_ blank" veri- component = "modalEnlargeImage" data-headline = "

Kullanıcılar, DTrace motorunun genel bir ön ucu olan dtrace komutu aracılığıyla DTrace ile etkileşime girer. D komut dosyaları, bazen DIF Sanal Makinesi olarak da adlandırılan yürütme için DTrace çekirdek bileşenine gönderilir. Traceext.sys, Microsoft tarafından eklenen ve Windows'un DTrace'in izleme sağlamak için güvendiği işlevleri göstermesine olanak tanıyan yeni bir çekirdek uzantısı sürücüsüdür.

"data-credit =" Resim: Microsoft "rel =" noopener noreferrer nofollow ">dtrace-on-windows.jpg "veri-orijinal =" https://tr3.cbsistatic.com/hub/i/2020/04/06/9ffc8110-45fb-4ff3-9c57-429dceb07941/dtrace-on-windows.jpg

Kullanıcılar, DTrace motorunun genel bir ön ucu olan dtrace komutu aracılığıyla DTrace ile etkileşime girer. D komut dosyaları, bazen DIF Sanal Makinesi olarak da adlandırılan yürütme için DTrace çekirdek bileşenine gönderilir. Traceext.sys, Microsoft tarafından eklenen ve Windows'un DTrace'in izleme sağlamak için güvendiği işlevleri göstermesine olanak tanıyan yeni bir çekirdek uzantısı sürücüsüdür.

Görüntü: Microsoft

DTrace ile çalışmaya başlama

DTrace'i yüklemek, geleneksel bir Windows uygulaması yüklemek kadar kolay değildir. Çok düşük seviyeli bir araçtır ve çalıştırmak için birkaç yeniden başlatma gerektirir. İlk DTrace'ın uygun sürümünü indirin Microsoft'tan. Geçerli desteklenen sürüm yalnızca Windows 10 2004 veya sonraki sürümlerinde çalışır; 1904 ve 1909 için daha önce arşivlenmiş bir sürüm yine de indirilebilir, ancak artık desteklenmemektedir.

İndirdikten sonra DTrace uygulamasını yükleyin ve ardından bcdedit Windows önyükleme yapılandırmanıza eklemek için. Bunu yapmadan önce bilgisayarınızın önyükleme yapılandırmasını korumak için kullanıyorsanız, BitLocker'ı kapatmanız gerekebilir, aksi takdirde bir sonraki önyükleme yaparken BitLocker anahtarınızı girmeniz gerekebilir.

Ardından, Windows'unuzu ayarlayın YOL DTrace'e başvurmak için ortam değişkeni ve hata ayıklama sembolleri için yeni bir ortam değişkeni eklenmesi Bunlar gerektiğinde Microsoft'tan indirilecektir. Son olarak, Sanal Güvenli Mod Windows çekirdeği sınırını izlemek için.

GÖRMEK: Windows 10'un istediğiniz gibi çalışmasını sağlamak için 20 profesyonel ipucu (ücretsiz PDF) (TechRepublic)

Birçok geliştirici sanal makinelerde test eder ve DTrace iç içe sanallaştırmayı desteklediği sürece VM içinde çalışacaktır. Bunu PowerShell'den yapabilir, sanallaştırma uzantılarını etkinleştirebilir ve ardından ana bilgisayarı yeniden başlatabilirsiniz.

Önemli bir uyarı, DTrace'in düzgün çalışmasını sağlamak için yerel bir yönetici hesabı olarak çalışmanız gerektiğinden, Windows 10'da oturum açmak için bir Microsoft Hesabı kullanıyorsanız, yeni bir yerel kullanıcı eklemeye hazır olun. Windows Insider derlemelerini güncellediğinizde DTrace'yi BCDEdit aracılığıyla yeniden etkinleştirmeyi unutmayın.

DTrace ile hata ayıklama

DTrace çalışmaya hazır olduğunda, mevcut probları görmek için komut satırı tek satır araçlarını kullanabilir ve basit komutları deneyerek D komutlarının yapısını kavrayabilirsiniz. Bunları öğrendikten sonra, kendi komut dosyalarınızı oluşturmaya başlayabilirsiniz.

Microsoft, örnek komut dosyalarının bir bölümünü DTrace GitHub sayfasıuygulamalarınızda izlemeye başlamanıza yardımcı olabilir. D'de bir kitapla biraz zaman göndermeye değer, çünkü izleme probları programlama karmaşık olabilir, özellikle probların eşzamansız olarak ateş etmesi muhtemeldir. Başlamak için iyi bir yer ücretsiz Dinamik İzleme Kılavuzu kitap dtrace.org web sitesinde. Teknik olarak illumos (Open Solaris tabanlı açık kaynaklı bir işletim sistemi), içindeki kavramlar ve süreçler Windows'a çevrilebilir.

Örnek komut dosyaları, genel Windows izleme senaryolarına bakarak gruplara ayrılmıştır. Disk işlemlerine bakmak için bazılarını, dosyalar için, bellek için ve ETW ile kullanmak için bazılarını bulacaksınız. Özel gereksinimlerinizi hedefleyen kendi sürümlerinizi yapmadan önce kodu indirin ve sistemlerinizde çalıştırın.

Özellikle rakamlarla dolu dosyalarla karşılaştığınızda, sonuçların analizi zor olabilir. DTrace sonuçlarını anlamaya yardımcı olmak için görselleştirmeler oluşturmak ve izleme verilerini keşfetmek için Excel veya PowerBI gibi araçları kullanmak iyi bir fikirdir.

DTrace güçlü bir araçtır ve Microsoft'un bunu Windows'a getirdiğini görmek iyidir. Ancak, nispeten karmaşık bir kurulum ve dik bir öğrenme eğrisi ile yeni başlayanlar için açıkça değil. D dilini öğrendikten ve probları nasıl seçeceğinizi ve uygulayacağınızı öğrendikten sonra, uygulamalarınızın birbirleriyle ve Windows ile nasıl etkileşime girdiğini keşfetmeye hazırsınız. Zor bir hatayı izlemeye çalışıyorsanız, bu sizin için bir araçtır ve Windows'a tamamen yeni bir pencere açar.

Ek kaynaklar

Source link

İlk yorum yapan olun

Bir yanıt bırakın

E-posta hesabınız yayımlanmayacak.


*