WinDbg - WinDbg
| Geliştirici(ler) | Microsoft |
|---|---|
| kararlı sürüm | 10.0.20153.1000 / 29 Nisan 2020
|
| İşletim sistemi | Microsoft Windows |
| Tip | hata ayıklayıcı |
| Lisans | Reklam |
| İnternet sitesi | docs.microsoft.com'da Hata Ayıklama Araçları |
WinDbg , Microsoft tarafından dağıtılan Microsoft Windows bilgisayar işletim sistemi için çok amaçlı bir hata ayıklayıcıdır . Hata ayıklama , bir sistemdeki hataları bulma ve çözme sürecidir ; bilgi işlemde ayrıca, geliştirmeye yardımcı olarak yazılımın dahili işleyişini keşfetmeyi de içerir . Kullanıcı modu uygulamalarında, aygıt sürücülerinde ve işletim sisteminin kendisinde çekirdek modunda hata ayıklamak için kullanılabilir .
genel bakış
Daha iyi bilinen Visual Studio Hata Ayıklayıcı gibi WinDbg'nin de bir grafik kullanıcı arabirimi (GUI) vardır, ancak daha güçlüdür ve çok az ortak noktası vardır. WinDbg , daha fazla zaman alan oluşturma görevi yerine SymSrv (SymSrv.dll) aracılığıyla çeşitli kriterleri (örneğin, zaman damgası, CRC, tek veya çok işlemcili sürüm) eşleştirerek hata ayıklama sembol dosyalarını (örneğin PDB dosyaları) bir sunucudan otomatik olarak yükleyebilir . hata ayıklama hedef ortamı için bir sembol ağacı. Özel bir sembol sunucusu yapılandırılırsa, semboller ikili için kaynak koduyla ilişkilendirilebilir . Bu, hata ayıklama ana bilgisayarında belirli sembol sürümlerini bulma ve yükleme ihtiyacını ortadan kaldırarak, hata ayıklama hedefinde çeşitli ikili dosya sürümlerinin yüklü olduğu hata ayıklama sorunlarının yükünü hafifletir. Microsoft, Windows 2000 ve Windows'un sonraki sürümleri ( hizmet paketleri dahil ) için ortak simgelerin çoğuna sahip olan bir genel simge sunucusuna sahiptir .
WinDbg ayrıca , bir hata denetimi yapıldığında ortaya çıkan ve genellikle Ölümün Mavi Ekranı olarak adlandırılan şeyden sonra oluşturulan çekirdek modu bellek dökümlerinde hata ayıklamak için de kullanılabilir . Kullanıcı modu kilitlenme dökümlerinde hata ayıklamak için de kullanılabilir. Bu, ölüm sonrası hata ayıklama olarak bilinir .
WinDbg'nin son sürümleri, WinDbg ile KD , CDB ve NTSD gibi komut satırı hata ayıklayıcı ön uçları arasında ortak bir hata ayıklama arka ucunu paylaşan ücretsiz Windows için Hata Ayıklama Araçları paketinin bir parçası olarak dağıtıldı ve dağıtılıyor . Çoğu komut, dahil edilen tüm hata ayıklayıcı ön uçlarında olduğu gibi kullanılabilir.
2017'de Microsoft, WinDbg Preview (diğer adıyla WinDbgX) adlı yeni WinDbg sürümünü duyurdu. WinDbg Önizleme'nin en dikkate değer özelliklerinden biri, Zaman Yolculuğu Hata Ayıklama (TTD) olarak adlandırılır. Buradaki ana fikir, daha sonra zamanda ileri geri gidip hata ayıklamak için gerçek bir canlı süreci (performans cezasıyla) kaydedebilmenizdir. Bu özellik özellikle tersine mühendislik işlemi sırasında kullanışlıdır. Ayrıca JavaScript dilinde komut dosyaları yazmaya da izin verir.
Uzantılar
WinDbg , hata ayıklayıcının desteklenen komutlarını artırabilen ve belirli senaryolarda hata ayıklamada yardıma izin veren uzantı DLL'lerinin yüklenmesine izin verir: örneğin, bir IXMLDOMDocument verilen bir MSXML belgesini görüntüleme veya Ortak Dil Çalışma Zamanı'nda (CLR) hata ayıklama . Bu uzantılar, WinDbg'yi bu kadar güçlü bir hata ayıklayıcı yapan şeyin büyük bir parçasıdır. WinDbg, Microsoft Windows ürün ekibi tarafından Windows'u oluşturmak için kullanılır ve Windows'ta hata ayıklamak için gereken her şey bu uzantı DLL'lerinde bulunur.
Uzantı komutlarının önüne her zaman ! .
Bazı uzantılar yalnızca Microsoft içinde kullanılırken, çoğu Windows için genel Hata Ayıklama Araçları paketinin bir parçasıdır.
Uzantı modeli, Windows için Hata Ayıklama Araçları'nda bulunan yardım dosyasında belgelenmiştir.
Ext.dll
Ext, WinDBG ile birlikte gelen ve varsayılan olarak yüklenen standart bir Windows Hata Ayıklayıcı uzantısıdır.
!analiz komutu
En sık kullanılan komut, hata ayıklanan programın mevcut durumunu ve kilitlenme veya askıda kalma anında makine/işlem durumunu analiz eden !analyze -v'dir . Bu komut genellikle mevcut problemde tamamen otomatik bir şekilde hata ayıklayabilir.
Herhangi bir anahtar olmadan kullanıldığında !analyze , analizinin sonuçlarını döndürür. -V ve vv o analizi hakkında vermek fazla detay.
Wow6432exts.dll
Wow6432exts, WinDBG ile birlikte gelen standart bir Windows Hata Ayıklayıcı uzantısıdır. WoW64 içinde çalışan işlemlerde (64-bit Windows'ta çalışan 32-bit işlemler) hata ayıklamak için kullanılır .
SOS.dll
SOS (Son of Strike) Hata Ayıklama Uzantısı (SOS.dll), dahili ortak dil çalışma zamanı (CLR) ortamı hakkında bilgi sağlayarak Visual Studio ve WinDbg'de yönetilen programlarda hata ayıklamaya yardımcı olur. Bu araç, bir projede yönetilmeyen hata ayıklamanın etkinleştirilmesini gerektirir. SOS.dll, .NET Framework ile otomatik olarak yüklenir. SOS.dll'yi Visual Studio'da kullanmak için Windows Sürücü Seti'ni (WDK) yükleyin. Bir işlemde veya bellek dökümünde hata ayıklamak için sos.dll sürümünün .NET Framework sürümüyle eşleşmesi gerekir. Psscor2 ve Psscor4, SOS'un bir üst kümesidir.
Psscor2.dll
Psscor2, .NET CLR sürüm 2.0'ı (.NET Framework sürüm 2 ila 3.5) kullanan .NET Framework uygulamalarında hata ayıklamak için kullanılan Windows Hata Ayıklayıcı Uzantısıdır. Psscor2, Ürün Destek Hizmetleri araçlarının bir parçası olarak Microsoft'ta dahili kullanım için geliştirilmiştir. Microsoft sadece 2010'da Psscor2'yi yayınlarken, Microsoft birkaç yıl önce uzantıdan komutlar yayınlıyordu ve bu da süreçlerini takip etmeye çalışanlar için zorluklara neden oluyordu.
Psscor4.dll
Psscor4, .NET Framework 4 uygulamalarında hata ayıklamak için kullanılan bir Windows Hata Ayıklayıcı uzantısıdır.
Sanal makinelerle bağlantı
WinDbg, adlandırılmış bir kanal kullanarak VMware , VPC veya Parallels tarafından sanal bir makinede çalışan bir Microsoft Windows çekirdeğinde hata ayıklamaya izin verir . Bu, sanal bir COM bağlantı noktası kullanılarak gerçekleştirilebilir . VMware ve VirtualBox durumunda , VirtualKD uzantısı, hata ayıklamayı 45 kata kadar hızlandırdığını iddia ederek, Windows çekirdeğine VM hata ayıklaması için yerel destek ekler. Windows 8 ve sonraki sürümlerde, hızlı çekirdeğe izin vererek ağ üzerinden çekirdek hata ayıklamasına izin verilir özel yapılandırma olmadan hata ayıklama.
Protokol
WinDbg protokolü belgelenmemiştir, ancak IDA Pro ve radare2 ayrıştırıcıları tarafından desteklenmektedir .
Ayrıca bakınız
Referanslar
Dış bağlantılar
- Başlarken: Kurulum Talimatları , Bölüm 1 , Bölüm 2
- Windows için Hata Ayıklama Araçları - bilgi ve ücretsiz indirmeler
- WinDbg. A'dan z'ye! - Teori ve örnekler, 111 slayt
- Ortak WinDbg Komutları (Tematik Olarak Gruplandırılmış)
- WinDbg kullanarak sistem çökmelerini çözme eğitimi
- WinDbg'de yüklenen semboller
- Windows Hata Ayıklayıcıları: Bölüm 1: Bir WinDbg Eğitimi
- Hızlı VMware ve VirtualBox hata ayıklaması için KD uzantısı
- SOS Hata Ayıklama Uzantısı (SOS.dll)
- psscor4 (.NET 4.0) veya psscor2 (.NET 2.0-3.5) Bir üst komut kümesiyle SOS'un değiştirilmesi
- [1] WinDBG v6.12.2.633, Windows Sürücü Kiti Sürüm 7.1.0 aracılığıyla kullanılabilir
- Python komut dosyası için uzantı (pykd)
- DbgKit: Windows için Hata Ayıklama Araçları için ilk GUI uzantısı