Aracılığıyla paylaş


Hata Ayıklama Ortamları

Altı kullanılabilir hata ayıklama ortamı vardır:

  • WinDbg
  • WinDbg (Klasik)
  • Çekirdek Hata Ayıklayıcısı (KD)
  • NTKD
  • Konsol Hata Ayıklayıcısı (CDB)
  • NT Sembolik Hata Ayıklayıcısı (NTSD)

Aşağıdaki bölümlerde hata ayıklama ortamları açıklanmaktadır.

WinDbg

WinDbg modern görseller, daha hızlı pencereler ve genişletilebilir hata ayıklayıcısı veri modeli ön ve orta ile oluşturulmuş tam teşekküllü betik deneyimi ile WinDbg'nin en son sürümüdür. WinDbg, WinDbg (Klasik) ile aynı temel altyapıyı kullandığından, alışkın olduğunuz tüm komutlar, uzantılar ve iş akışları daha önce olduğu gibi çalışmaya devam eder.

Daha fazla bilgi için bkz. WinDbg Özellikleri

WinDbg (Klasik)

Microsoft Windows Hata Ayıklayıcısı WinDbg (Klasik), hem kullanıcı modu hem de çekirdek modu hata ayıklaması yapabilen Windows tabanlı bir hata ayıklayıcıdır. WinDbg, Windows çekirdeği, çekirdek modu sürücüleri ve sistem hizmetlerinin yanı sıra kullanıcı modu uygulamaları ve sürücüleri için hata ayıklama sağlar.

WinDbg, kaynak düzeyinde hata ayıklama için Visual Studio hata ayıklama simgesi biçimlerini kullanır. PDB sembol dosyaları olan bir modülden herhangi bir sembole veya değişkene erişebilir ve COFF sembol dosyalarıyla derlenmiş modüller (Windows .dbg dosyaları gibi) tarafından kullanıma sunulan tüm genel işlevlerin adına erişebilir.

WinDbg kaynak kodunu görüntüleyebilir, kesme noktaları ayarlayabilir, değişkenleri (C++ nesneleri dahil), yığın izlemelerini ve belleği görüntüleyebilir. Hata Ayıklayıcısı Komut penceresi, kullanıcının çok çeşitli komutlar vermesine olanak tanır.

Çekirdek modunda hata ayıklama için WinDbg genellikle iki bilgisayar (konak bilgisayar ve hedef bilgisayar) gerektirir. WinDbg, hem kullanıcı modu hem de çekirdek modu hedefleri için çeşitli uzaktan hata ayıklama seçeneklerini de destekler.

WinDbg, CDB/NTSD ve KD/NTKD'ye karşılık gelen bir grafik arabirimdir.

KD

Microsoft Çekirdek Hata Ayıklayıcısı (KD), tüm NT tabanlı işletim sistemlerinde çekirdek modu etkinliğinin ayrıntılı analizini sağlayan karakter tabanlı bir konsol programıdır. Çekirdek modu bileşenlerinde ve sürücülerinde hata ayıklamak veya işletim sisteminin davranışını izlemek için KD kullanabilirsiniz. KD, çok işlemcili hata ayıklamayı da destekler.

Genellikle, KD hata ayıklanan bilgisayarda çalışmaz. Çekirdek modu hata ayıklaması için iki bilgisayara ( konak bilgisayar ve hedef bilgisayar) ihtiyacınız vardır.

NTKD

KD hata ayıklayıcısının NTKD adlı bir varyasyonu vardır. Her şekilde KD ile aynıdır, ancak başlatıldığında yeni bir metin penceresi oluşturur, KD ise çağrıldığı Komut İstemi penceresini devralır.

CDB

Microsoft Console Debugger (CDB), Windows kullanıcı modu belleği ve yapıları için alt düzey analiz sağlayan karakter tabanlı bir konsol programıdır. CdB'nin konsol uygulaması olarak sınıflandırıldığını belirtmek için Konsol Hata Ayıklayıcısı adı kullanılır; hedef uygulamanın bir konsol uygulaması olması gerektiği anlamına gelmez. Aslında CDB, hem konsol uygulamalarında hem de grafik Windows programlarında hata ayıklama özelliğine sahiptir.

CDB, çalışmakta olan veya kısa süre önce kilitlenen (canlı analiz) bir programın hatalarını ayıklamak için son derece güçlüdür, ancak kurulumu kolaydır. Çalışan bir uygulamanın davranışını araştırmak için kullanılabilir. Uygulamanın başarısız olması durumunda CDB, yığın izlemesi almak veya suçlu parametrelerine bakmak için kullanılabilir. Karakter tabanlı olduğu için ağ genelinde (uzaktan erişim sunucusu kullanarak) iyi çalışır.

CDB ile program kodunu görüntüleyebilir ve yürütebilir, kesme noktaları ayarlayabilir ve bellekteki değerleri inceleyip değiştirebilirsiniz. CDB, ikili kodu ayrıştırarak ve derleme yönergelerini görüntüleyerek analiz edebilir. Ayrıca kaynak kodunu doğrudan analiz edebilir.

CDB, bellek konumlarına adresler veya genel simgeler aracılığıyla erişebildiğinden, verilere ve yönergelere adres yerine ada göre başvurarak kodun belirli bölümlerini bulmayı ve hatalarını ayıklamayı kolaylaştırabilirsiniz. CDB, birden çok iş parçacığında ve işlemde hata ayıklamayı destekler. Genişletilebilir ve hem sayfalı hem de sayfasız belleği okuyup yazabilir.

Hedef uygulamanın kendisi bir konsol uygulamasıysa, hedef konsol penceresini CDB ile paylaşır. Hedef konsol uygulaması için ayrı bir konsol penceresi oluşturmak için -2 komut satırı seçeneğini kullanın.

NTSD

CDB hata ayıklayıcısının Microsoft NT Symbolic Debugger (NTSD) adlı bir varyasyonu vardır. CdB ile her şekilde aynıdır, ancak başlatıldığında yeni bir metin penceresi oluştururken CDB, çağrıldığı Komut İstemi penceresini devralır.

Başlat komutu yeni bir konsol penceresi oluşturmak için de kullanılabildiğinden, aşağıdaki iki yapı aynı sonuçları verecektir:

start cdb parameters
ntsd parameters

Bir çekirdek hata ayıklayıcısından (Visual Studio, WinDbg veya KD) denetlenebilmesi için NTSD'den (veya CDB) gelen giriş ve çıkışı yeniden yönlendirmek mümkündür. Bu teknik NTSD ile kullanılıyorsa, hiçbir konsol penceresi görüntülenmez. Bu nedenle NTSD'yi çekirdek hata ayıklayıcısından denetlemek özellikle yararlıdır çünkü hedef uygulamayı içeren bilgisayara neredeyse hiç yük olmayan son derece basit bir hata ayıklayıcıya neden olur. Bu birleşim sistem işlemlerinde hata ayıklamak, kapatma ve önyüklemenin sonraki aşamalarında kullanılabilir. Ayrıntılar için bkz. Çekirdek Hata Ayıklayıcısı'ndan User-Mode Hata Ayıklayıcısını Denetleme .

Ayrıca bkz.

Windows Hata Ayıklama

WinDbg Özellikleri