Aracılığıyla paylaş


Windows hata ayıklamayı kullanmaya başlama

Bu makalede, WinDbg ve diğer hata ayıklama araçlarını kullanarak Windows hata ayıklamayı kullanmaya başlama açıklanmaktadır. Nasıl yapılacağını öğreneceksiniz:

  • Hata ayıklayıcısını yükleme ve konak ve hedef sistemleri ayarlama
  • Hata ayıklama ortamınızı yapılandırma
  • Çekirdek modu ve kullanıcı modu senaryoları için ana temel hata ayıklama teknikleri

Not: Bunun yerine kilitlenme dökümünü analiz etmek istiyorsanız 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

Windows uygulamalarında ve sürücülerde hata ayıklamaya başlamak için WinDbg'yi yükleyin. Ayrıntılı yükleme adımları 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 hata ayıklama sistemlerini bağlayan çift oku gösteren diyagramın ekran görüntüsü.

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şebilir. Ç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 modu hata ayıklaması için sonraki adımlar

Kullanıcı modu hata ayıklaması için sonraki adımlar

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

Genellikle bir Ethernet ağı kullanarak hedef ve konak sistemlerini bağlarsınız. 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. Simgeleri düzgün yapılandırmazsanız, sembollere bağlı işlevleri 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. Herhangi bir komutla ilgili yardım almak için hata ayıklama sırasında, önce .hh komutunu ve ardından komut adını kullanın.

Örnekler:

.hh bp # Get help on breakpoint commands
.hh k # Get help on call stack commands

Kullanılabilir komutların tam listesi için bkz Hata Ayıklayıcı Referansı.

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 birden çok hata ayıklama uzantısı kullanabilirsiniz. Daha fazla bilgi için bkz. Özelleştirilmiş uzantılar. Hata ayıklayıcı uzantılarını yükleme hakkında bilgi için bkz . Hata ayıklayıcı uzantısı DLL'lerini yükleme.

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'nun Windows Internals gibi kaynaklarını 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

Sonraki Adımlar

Devam etmek için hata ayıklama modunuzu seçin:

Çekirdek modunda hata ayıklama (sürücüler ve işletim sistemi bileşenleri için):

Kullanıcı modu hata ayıklama (uygulamalar için):

Ek kurulum kılavuzu: