Aracılığıyla paylaş


Windows hata ayıklamayı kullanmaya başlama

Bu makale, Windows için hata ayıklamaya nasıl başlanacaklarını kapsar. Amacınız kilitlenme dökümünü analiz etmek için hata ayıklayıcıyı kullanmaksa, bkz. WinDbg kullanarak kilitlenme dökümü dosyalarını analiz etme.

Windows hata ayıklamasını kullanmaya başlamak için aşağıdaki adımları tamamlayın.

1. Windows Hata Ayıklayıcısı'nı yükleme

WinDbg'yi yükleme hakkında bilgi için bkz. WinDbg'yi yükleme.

2. Ana bilgisayar ve hedef sistemleri tanımlayın

İşlem sırasında işlemcide yönerge yürütmesi yaygın olarak duraklatıldığından genellikle hata ayıklama için iki ayrı bilgisayar sistemi kullanılır. Hata ayıklayıcı ana bilgisayar sisteminde çalışır ve hata ayıklamak istediğiniz kod hedef sisteminde çalışır.

Ana Makine <--------------------------------------------------> Hedef

Konak ve hedef sistemler arasındaki bağlantıyı çift okla gösteren diyagram.

Bazı durumlarda, ikinci sistem olarak bir sanal makine kullanmak mümkündür. Örneğin, bir sanal bilgisayar hata ayıklamak için ihtiyacınız olan kodla aynı bilgisayarda çalışabilir. Ancak kodunuz düşük düzeyli donanımla iletişim kurarsa, sanal bilgisayar kullanmak en iyi yaklaşım olmayabilir. Daha fazla bilgi için bkz. Sanal makinede ağ hata ayıklamasını ayarlama - KDNET.

3. Hata ayıklayıcı türünü belirleme: çekirdek modu veya kullanıcı modu

Ardından, çekirdek modunu mu yoksa kullanıcı modu hata ayıklamasını mı kullanacağınızı belirlemeniz gerekir.

  • İşletim sistemi ve ayrıcalıklı programlarçekirdek modunda çalışır. Çekirdek modu kodu, sistemin herhangi bir bölümüne erişme iznine sahiptir ve kullanıcı modu kodu gibi kısıtlanmaz. Çekirdek modu kodu, kullanıcı modunda veya çekirdek modunda çalışan diğer işlemlerin herhangi bir bölümüne erişim sağlayabilir. Çekirdek işletim sistemi işlevselliğinin çoğu ve birçok donanım cihaz sürücüsü çekirdek modunda çalışır.

  • Bilgisayardaki uygulamalar ve alt sistemlerkullanıcı modunda çalışır. Kullanıcı modunda çalışan işlemler bunu kendi sanal adres alanları içinde yapar. Sistem donanımı, kullanımları için ayrılmamış bellek ve sistemin bütünlüğünü tehlikeye atabilecek diğer bölümleri dahil olmak üzere sistemin birçok bölümüne doğrudan erişim sağlamaları kısıtlanır. Kullanıcı modunda çalışan işlemler, sistemden ve diğer kullanıcı modu işlemlerinden etkili bir şekilde yalıtılır, bu nedenle bu kaynakları kesintiye uğratamaz.

Amacınız bir sürücüde hata ayıklamaksa, sürücünün çekirdek modu sürücüsü veya kullanıcı modu sürücüsü olup olmadığını belirleyin. Windows Sürücü Modeli (WDM) sürücüleri ve Kernel-Mode Driver Framework (KMDF), her ikisi de çekirdek modu sürücü türleridir. Adından da anlaşılacağı gibi, User-Mode Driver Framework (UMDF) sürücüleri kullanıcı modu sürücüleridir.

Bazı sorunlar için kodun hangi modda yürütüleceğini belirlemek zor olabilir. Bu durumda, bir mod seçmeniz ve bu modda hangi bilgilerin kullanılabilir olduğunu görmeniz gerekebilir. Bazı sorunlar için hem kullanıcı modunda hem de çekirdek modunda hata ayıklayıcının kullanılması gerekir.

Hangi modda hata ayıkladığınıza bağlı olarak, hata ayıklayıcılarını farklı şekillerde yapılandırmanız ve kullanmanız gerekebilir. Bazı hata ayıklama komutları her iki modda da aynı, bazı komutlar farklı çalışır.

Çekirdek modunda hata ayıklayıcıyı kullanma hakkında daha fazla bilgi edinin:

Kullanıcı modunda hata ayıklayıcıyı kullanma hakkında daha fazla bilgi edinin:

4. Hata ayıklayıcı ortamınızı seçin

WinDbg hata ayıklayıcısı çoğu durumda iyi çalışır, ancak bazen otomasyon veya Visual Studio için konsol hata ayıklayıcıları gibi başka bir hata ayıklayıcı kullanmak isteyebilirsiniz. Daha fazla bilgi için bkz. Hata ayıklama ortamları.

5. Hedef ve konağın nasıl bağlanacağını belirleyin

Hedef ve konak sistemleri genellikle bir Ethernet ağıyla bağlanır. Erken getirme işi yapıyorsanız veya bir cihazda Ethernet bağlantınız yoksa, diğer ağ bağlantısı seçenekleri kullanılabilir. Daha fazla bilgi için şu makalelere bakın:

6. 32 bit veya 64 bit hata ayıklama araçlarını seçin

32 bit veya 64 bit hata ayıklayıcıya ihtiyacınız olup olmadığı, hedef ve konak sistemlerinde çalışan Windows sürümüne ve 32 bit veya 64 bit kodda hata ayıklayıp ayıklamadığınıza bağlıdır. Daha fazla bilgi için bkz. 32 bit veya 64 bit hata ayıklama araçlarını seçme.

7. Simgeleri yapılandırma

WinDbg'nin sağladığı tüm gelişmiş işlevleri kullanmak için uygun simgeleri yüklemeniz gerekir. Simgeleriniz düzgün yapılandırılmadıysa, sembollere bağımlı işlevselliği kullanmaya çalıştığınızda simgelerin kullanılamadığını belirten iletiler alırsınız. Daha fazla bilgi için bkz. Windows hata ayıklamasimgeleri.

8. Kaynak kodunu yapılandırma

Amacınız kendi kaynak kodunuzda hata ayıklamaksa, kaynak kodunuz için bir yol yapılandırmanız gerekir. Daha fazla bilgi için bkz. Kaynak yolu.

9. Hata ayıklayıcı işlemi hakkında bilgi sahibi olun

Bu belgelerin Hata Ayıklayıcısı işlemi bölümünde çeşitli görevler için hata ayıklayıcı işlemi açıklanmaktadır. Örneğin Günlük Dosyasını WinDbg'de Tutma WinDbg'nin hata ayıklama oturumunu kaydeden bir günlük dosyasını nasıl yazabileceğini açıklar.

10. Hata ayıklama teknikleri hakkında bilgi sahibi olun

Standart hata ayıklama teknikleri çoğu hata ayıklama senaryosu için geçerlidir ve örnekler arasında kesme noktaları ayarlama, çağrı yığınını inceleme ve bellek sızıntısı bulma sayılabilir. Özel hata ayıklama teknikleri belirli teknolojiler veya kod türleri için geçerlidir. Tak Çalıştır hata ayıklama, KMDF hata ayıklama ve RPC hata ayıklama örnekler arasındadır.

11. Hata ayıklayıcısı başvuru komutlarını kullanın

Hata ayıklayıcıda çalışırken farklı hata ayıklama komutları kullanabilirsiniz. Hata ayıklama komutu hakkında yararlı bilgiler görüntülemek için hata ayıklayıcıdaki .hh komutunu kullanın. Kullanılabilir komutlar hakkında daha fazla bilgi için Hata Ayıklayıcı kılavuzunabakın.

12. Belirli teknolojiler için hata ayıklama uzantılarını kullanın

Etki alanına özgü veri yapılarını ayrıştırmak için kullanılabilecek birden çok hata ayıklama uzantısı vardır. Daha fazla bilgi için bkz. Özelleştirilmiş uzantılar. Hata ayıklayıcısı uzantısı DLL'lerini yükleme, hata ayıklayıcı uzantılarının nasıl yükleneceklerini açıklar.

Bu belgede, temel Windows iç işlevleri hakkında bilgi sahibi olduğunuz varsayılır. Bellek kullanımı, bağlam, iş parçacıkları ve işlemler de dahil olmak üzere Windows iç işlevleri hakkında daha fazla bilgi edinmek için Pavel Yosifovich, Mark E. Russinovich, David A. Solomon ve Alex Ionescu tarafından Windows internals gibi kaynakları gözden geçirebilirsiniz.

14. Ek hata ayıklama kaynaklarını gözden geçirin

Diğer kaynaklar aşağıdaki kitapları ve videoları içerir:

  • Windows Hakkında Hata Ayıklama: Pratik Hata Ayıklama ve İzleme Stratejileri Tarik Soulami tarafından
  • Mario Hewardt ve Daniel Pravat tarafından Gelişmiş Windows Hata Ayıklama
  • Defrag Tools video serisi, 13'ten 29'a kadar olan bölümleri, WinDbg ile ilgili

Ayrıca bkz.