Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu belgede hata ayıklayıcı altyapısının nasıl kullanılacağı ve WinDbg, KD, CDB ve NTSD'de çalışacak uzantıların nasıl yazılacağı açıklanmaktadır. Bu hata ayıklayıcı uzantıları, Microsoft Windows'da kullanıcı modu veya çekirdek modu hata ayıklaması gerçekleştirirken kullanılabilir.
Hata Ayıklayıcı Altyapısı
Hata ayıklayıcı altyapısı, Microsoft Windows'da kullanıcı modunda ve çekirdek modunda hata ayıklama hedeflerini incelemek ve işlemek için bir arabirim sağlar.
Hata ayıklayıcı altyapısı hedefleri alabilir, kesme noktaları ayarlayabilir, olayları izleyebilir, sorgu sembollerini, okuma ve yazma belleğini ve bir hedefteki iş parçacıklarını ve işlemleri denetleyebilir.
Hem hata ayıklayıcı uzantısı kitaplıklarını hem de tek başına uygulamaları yazmak için hata ayıklayıcı altyapısını kullanabilirsiniz. Bu tür uygulamalar hata ayıklayıcı altyapısı uygulamalarıdır. Hata ayıklayıcı altyapısının tüm işlevselliğini kullanan bir hata ayıklayıcı altyapısı uygulaması, birhata ayıklayıcısıdır. Örneğin, WinDbg, CDB, NTSD ve KD hata ayıklayıcılardır; hata ayıklayıcı altyapısı işlevlerinin temelini sağlar.
Hata ayıklayıcı altyapısı API'si dbgeng.h üst bilgi dosyasındaki prototipler tarafından belirtilir.
Tamamlanmamış Belgeler
Bu bir ön belgedir ve şu anda tamamlanmamıştır.
Burada henüz belgelenmemiş hata ayıklayıcılar ve hata ayıklayıcı altyapısıyla ilgili birçok kavram için, bu belgelerin Hata Ayıklama Teknikleri bölümüne bakın.
Hata ayıklayıcı altyapısı API'sinin şu anda belgelenmemiş işlevselliğinden bazılarını edinmek için tek tek hata ayıklayıcı komutlarını yürütmek için Execute yöntemini kullanın.
Uzantıları
Uzantı DLL'sini yazarak ve oluşturarak kendi hata ayıklama komutlarınızı oluşturabilirsiniz. Örneğin, karmaşık bir veri yapısını görüntülemek için bir uzantı komutu yazmak isteyebilirsiniz.
Üç farklı tür hata ayıklayıcı uzantısı DLL'leri vardır:
DbgEng eklenti DLL'leri. Bunlar dbgeng.h üst bilgi dosyasındaki prototipleri temel alır. Bu tür her DLL, DbgEng uzantısı komutlarını dışarı aktarabilir. Bu uzantı komutları Hata Ayıklayıcı Altyapısı API'sini kullanır ve WdbgExts API'sini de kullanabilir.
EngExtCpp uzantı DLL'leri. Bunlar engextcpp.h ve dbgeng.h üst bilgi dosyalarındaki prototipleri temel alır. Bu tür her DLL, DbgEng uzantısı komutlarını dışarı aktarabilir. Bu uzantı komutları hem Hata Ayıklayıcı Altyapısı API'sini hem de EngExtCpp uzantı çerçevesini kullanır ve WdbgExts API'sini de kullanabilir.
WdbgExts uzantı DLL'ler. Bunlar wdbgexts.h üst bilgi dosyasındaki prototipleri temel alır. Bu tür her DLL bir veya daha fazla WdbgExts uzantısı komutlarını dışarı aktarır. Bu uzantı komutları yalnızca WdbgExts API'sini kullanır.
DbgEng API'sini kullanarak uzantılar veya tek başına uygulamalar oluşturabilirsiniz. WdbgExts API'si, hata ayıklayıcı altyapısı API'sinin işlevselliğinin bir alt kümesini içerir ve yalnızca uzantılar tarafından kullanılabilir.
Tüm hata ayıklayıcı uzantıları, Yapı aracı kullanılarak derlenmeli ve oluşturulmalıdır. Derleme yardımcı programı Windows Sürücü Seti'ne (WDK) dahildir.
Uzantı kodu örnekleri, özel bir yükleme gerçekleştirir ve SDK bileşenini ve tüm alt bileşenlerini seçerseniz Windows için Hata Ayıklama Araçları paketinin bir parçası olarak yüklenir. Bunlar, Windows için Hata Ayıklama Araçları yükleme dizininin sdk\samples alt dizininde bulunabilir.
Yeni hata ayıklayıcı uzantıları yazmanın en kolay yolu örnek uzantıları incelemektir. Her örnek uzantı, Derleme yardımcı programıyla kullanılacak makefile ve kaynak dosyalarını içerir. Her iki uzantı türü de örneklerde gösterilir.
Özel Çözümleme Hata Ayıklayıcısı Uzantıları Yazma
Bir çözümleme uzantısı eklentisi yazarak !analyze hata ayıklayıcısı komutunun özelliklerini genişletebilirsiniz. Bir analiz uzantısı eklentisi sağlayarak, bir hata denetiminin veya özel durumun analizine kendi bileşeninize veya uygulamanıza özgü bir şekilde katılabilirsiniz. Bir analiz uzantısı eklentisi yazarken, eklentinizin çağrılmasını istediğiniz durumları açıklayan bir meta veri dosyası da yazarsınız. !analyze çalıştırıldığında uygun analiz uzantısı eklentilerini bulur, yükler ve çalıştırır. Daha fazla bilgi için bkz. Özel Çözümleme Hata Ayıklayıcısı Uzantıları Yazma
DML Kullanarak Hata Ayıklayıcısı Çıkışını Özelleştirme
DML kullanarak hata ayıklayıcısı çıkışını özelleştirebilirsiniz. Daha fazla bilgi için bkz. DML kullanarak Hata Ayıklayıcısı Çıkışını Özelleştirme.
Hata Ayıklayıcının Özelliklerini Genişletmek için JavaScript Kullanma
Hata ayıklayıcı nesnelerini anlayan ve hata ayıklayıcının özelliklerini genişletip özelleştiren betikler oluşturmak için JavaScript kullanın. JavaScript sağlayıcıları bir betik dilini hata ayıklayıcının iç nesne modeliyle bir araya getirir. JavaScript hata ayıklayıcı betik sağlayıcısı, JavaScript'i hata ayıklayıcı ile kullanmanıza olanak tanır. Daha fazla bilgi için bkz. JavaScript Hata Ayıklayıcı Betik Yazımı.