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.
Bitleri inceleyen büyüteç içeren WinDbg logosu.
Bu makalede WinDbg'deki yenilikler hakkında bilgi verilmektedir. Önceki sürümler WinDbg Previewolarak yayımlandı.
Sürüm 1.2601.12001.0
Genel Kullanıcı Arabirimi Geliştirmeleri
- .NET 10'a yükseltildi
- Betik Penceresi, en son sürüm Monaco düzenleyicisi (0.55.1) ile yükseltildi.
- Betik şerit sekmesine Geri Al/Yinele düğmeleri eklendi
- Araç pencereleri arasında klavye gezintisi sırasında geliştirilmiş odak
- Ayrıştırma penceresinde kaydırma ve seçimle ilgili küçük sorunlar düzeltildi
- Yazmaçlar penceresinin register komutundan farklı değerler göstermesine neden olan sorun düzeltildi
- Birkaç yüksek DPI sorunu düzeltildi
- "Debugger'ın yaşını kontrol edin ve "çok eski" ise uyarıyla rapor edin."
- Boş bir sorgu için açılan Model penceresinde grafik modu seçildiğinde meydana gelen bir çökme düzeltildi.
- WinDbg için çökmeye dayanıklı günlükler uygulandı
Hata Ayıklama Altyapısı Geliştirmeleri
- Mevcut olmayan sembol adı aramalarının performansı iyileştirildi (özellikle DWARF ve diğer eklentiler için)
- OnTargetCompositionEvent işleyicilerinde null denetimi eklendi
- İşaretçi etiketi maske okuma özelliği etkinleştirildi
Zaman Yolculuğu Hata Ayıklama (TTD)
- TTD sürüm 1.11.567 -> 1.11.584
- Büyük (100+ GB) izlemeler için 5 kat hızlanma dahil olmak üzere dizin oluşturma performansını ve sağlamlığını artırmaya yönelik çeşitli iyileştirmeler.
- Müşteri tarafından bildirilen sorun düzeltildi: 32 bit adresleri kullanarak segment yazmaç aracılığıyla TEB'e erişim çalışıyor. (1.11.572)
- Syscalls çevresinde daha doğru çağrı yığınları. (1.11.582)
Hata Düzeltmeleri
- Uygunsuz şekilde işlenen karmaşık konumlar nedeniyle "tür bilgileri bulunamadı" hataları düzeltildi
- Konsol hata ayıklayıcısında, yeniden yönlendirilen G/Ç ve Unicode olmayan karakterlerle ilgili satır sonlandırma sorunları çözüldü.
- Linux'ta CPR/EPR olay filtrelemesi düzeltildi
- Linux için ayrıştırılmış görünümde eksik işlev etiketleri düzeltildi
- CET ile derlenen Linux binary'lerinde import fonksiyonları çözümü düzeltildi.
- Modül yüklendikten sonra canlı Linux hata ayıklama oturumlarının kullanılamaz duruma gelmesine neden olan çözümlenmemiş kesme noktaları düzeltildi
- GDBServer aracılığıyla bağlanıldığında Linux'ta görüntülenemeyen iş parçacığı yerel değişkenleri düzeltildi
- Temel alınan hedefin bellek hizmeti bellek bilgilerini uygulamadığında ELF Resim sayfası katman kilitlenmesi düzeltildi
- Hata ayıklayıcıda yanlış biçim parametresi kullanımı nedeniyle variadic yazdırma işlevlerinin çökmesi sorunu düzeltildi.
- UNIX türevi işletim sistemlerinde (LLP64 v. LP64) long, unsigned long ve wchar_t ele alınmasındaki tutarsızlık düzeltildi
- Hata ayıklayıcı kapatma sırasında temizleme iş parçacığı beklerken oluşan kilitlenme hatası giderildi.
1.2511.21001.0
Yeni özellikler
- Daha iyi döküm dosyası hedeflemesi için CAB dosyalarına ve klasörlerine genişletilen öncelik tabanlı işleme ile gelişmiş dosya seçimi
- İyileştirilmiş günlük kaydı ve durum iletileriyle geliştirilmiş ELF, DWARF ve Mach-O sembol dosyası indirmeleri
- DBGHELP_DIA_PATH ortam değişkeni artık daha iyi sembol işleme denetimi için yüklü olan modüllerden önceliklidir
- Daha iyi simge gezintisi ve arama performansı için üye adı dizin oluşturma geliştirmeleri
Hata düzeltmeleri
- Canlı Linux hedeflerine bellek yazmanın başarısız olması sorunu çözüldü
- Canlı hata ayıklama hedeflerine bağlanıldığında DAC ve SOS uzantısının yüklenmesi ve işlevselliği düzeltildi
- Ekli işlem yürütülebilirlerinin gerçek adlar yerine 'imageXXXXXXXX' olarak görünmesi sorunu çözüldü
- Negatif önbellek uygulaması tarafından bozulan NuGet.exe indirme kodu düzeltildi
- exdigdbsrv kullanılırken kullanıcı arabirimi gecikmeleri düzeltildi
- USB 3.1 geçici çözüm uyumluluk denetleyicisinden ele alınan WMI özel durumları
- wdbgexts.h SAL ek açıklamalarından yanlış uyarılar (C6518) kaldırıldı
- Linux platformlarında
char16_tvechar32_ttürleri için tür bilgileri gösterimi düzeltildi
Genel kullanıcı arabirimi geliştirmeleri
- Şeridin dikey ayak izini azaltan yeni Basitleştirilmiş Şerit ekle seçeneği
- Uzak Masaüstü Protokolü (RDP) oturumlarında çalışırken grafik donanım hızlandırmasını etkinleştirdi
- Ayrıştırma penceresinde geliştirilmiş yenileme performansı
- Farklı monitör yapılandırmalarında araç penceresi bağlam menüleri için DPI ölçeklendirmesi düzeltildi
- Sürüm bilgilerinin daha kolay kopyalanması için Hakkında sayfasında seçilebilir hale getirildi
- Eski IDNA (Uygulamalarda Uluslararası Etki Alanı Adları) teknolojisi desteği kaldırıldı
- Erken uygulama başlatma girdilerini uzantı galerisinden ve diğer iç işlemlerden dışlamak için hata ayıklayıcı günlüğü temizlendi
Zaman yolculuğu hata ayıklama (TTD)
- 1.11.553 -> 1.11.567
1.2510.7001.0
Kullanıcı Arabirimi ve Deneyim Geliştirmeleri
- Şeritten Herhangi Bir Bellek Penceresi Örneğini Açın
Hata Ayıklama ve Performans Geliştirmeleri
- Hata ayıklama güvenilirliğini artırmak için proses enstrümantasyonu geri çağırmalarının çalınması engellendi
- Daha iyi veri görselleştirmesi için tablo biçiminde tercih edilen gelişmiş Zaman Yolculuğu Hata Ayıklama (TTD) değişken geçmişi
- Oluşturucular tekrar kullanıldığında düzgün fonksiyon yakalamaları sağlanarak değişken geçmişindeki kilitlenme düzeltildi.
- Daha karmaşık hata ayıklama senaryolarını işlemek için belirsiz kesme noktaları için geliştirilmiş değerlendirici
- Mağaza uygulamaları ve PLM işlemleri için boş Publisher sütun görüntüsü düzeltildi
TTD ve Tekrar Oynatma API Güncellemeleri
-
!ttkomutu, izleme başlangıcına geçmek yerine bağımsız değişken olmadan çağrıldığında tek satırlık yardım ve geçerli konumu sağlamak üzere güncellendi. - Dış tümleştirme için deneysel Yeniden Yürütme API SDK'sı kullanılabilirliği sağlandı
- Geliştirilmiş programlı erişim için gelişmiş değişken geçmişi veri modeli yöntemleri
- Çeşitli TTD yeniden yürütme işlemi iyileştirmeleri ve geri çağırma desteği iyileştirmeleri düzeltildi
Hata Düzeltmeleri ve Kararlılık
- Yanlış "hata: İşlem başarıyla tamamlandı" hatasını gösteren hata bildirimi düzeltildi
- fasttfgitview komutlarında ana bilgisayar URL'si işleme sorunları giderildi
- Daha net geri bildirim sağlamak için sembol çözümlemesi çevresinde geliştirilmiş hata metni
- Linux'ta düz eşlenmiş .NET derlemeleri için PDB'leri yüklemeyle ilgili sorunlar düzeltildi
- Hata ayıklama bileşenlerindeki başlatılmamış okuma hatası çözüldü
- Uzantı galerisi dosya aramalarında kısa dosya adlarıyla ilgili sorunlar düzeltildi.
1.2508.27001.0
Yeni özellikler
- WinDbg için grafik donanım hızlandırmasını devre dışı bırakma seçeneği eklendi.
- üzerinde
.AlternateFunctionsyeni<frame>.Attributes.SourceInformationbir özellik eklendi.
Hata düzeltmeleri
- Hata Ayıklamayı Başlat sayfasının, bir iletişim kutusu açıldıktan sonra yenilenmemesi sorunu giderildi.
- UI otomasyonuna erişilmeyen cihazlara bağlanan sekme menü öğeleriyle ilgili bir sorun düzeltildi.
- Komut geçmişini incelediğinizde kaydedilmemiş komut girişinin kaybolmasına neden olan bir sorun düzeltildi.
- Düzgün kaydırma (düz tekerleklere ve izleme yüzeylerine sahip fareler) için fare tekerleği kullanımı düzeltildi.
- adlı
__SEH_prolog4işlev prologues olduğunda 32 bit x86 hata ayıklamasında yanlış yönlendiren özyinelemeli adım atma davranışı düzeltildi. - NuGet tabanlı uzantı galerileri ayarındaki
.AllowNugetExeUpdatebir hata düzeltildi. - Tabloların ve ad dizinlerinin çevresinde
.debug_namesDWARFv5 simgeleri okunurken bir hata düzeltildi. - Birden çok adım filtrelenmiş çağrı içeren kaynak satırlar için adım adım davranış düzeltildi.
- Geçersiz
natvissürüm dizesinin neden olduğu kilitlenme düzeltildi. - Uzaktan hata ayıklamada için
CreateProcessWortam bloğu iletimi düzeltildi. - Linux çekirdeğinde,
!percpuaracılığıyla dinamik olarak ayrılan CPU işaretçilerine yönelik!allpercpuvealloc_percpukomutları düzeltildi. - Linux çekirdek hata ayıklama oturumlarında CPU numaralandırmalarıyla ilgili bir sorun düzeltildi.
- Program dışı veritabanı (PDB) sembol hedefleri için eksik Ayrıştırma penceresi işlev etiketleri düzeltildi.
- ELF ikili dosyalarındaki yer tutucu konumlarının işlenmesi düzeltildi.
- DWARF sembollerinin işlemesinde iki kez serbest bırakma hatası düzeltildi
DW_OP_fbreg. - x64-on-ARM64 emüle edilmiş işlemler için tam bellek dökümü toplanmasını engelleyen döküm toplama kodundaki regresyon düzeltildi.
Genel kullanıcı arabirimi geliştirmeleri
- Farklı çözünürlüklerin monitörlerini değiştirdiğinizde WinDbg'nin pencere konumunu nasıl geri yükleyeceği konusunda geliştirmeler yapıldı. WinDbg artık tutturılmış konumları da kaydeder ve geri yükler.
- Shift tuşunu basılı tutarken fare tekerleği kullanılarak yatay kaydırma uygulanır.
- Klasör Aç seçicisi modern iletişim kutusunu kullanacak şekilde güncelleştirildi.
1.2506.12002.0
Yeni özellikler
WinDbg artık konsol modu hata ayıklayıcılarıyla birlikte gönderilir (cdb.exe / ntsd64.exe / kd.exe). İkili dosyaları birbirinden ayırıp araçların mevcut kopyalarıyla karışmamak için ikili dosyalar mimari adını içerir:
- cdbARM64.exe / cdbX64.exe / cdbX86.exe
- kdARM64.exe / kdX64.exe / kdX86.exe
- ntsdARM64.exe / ntsdX64.exe / ntsdX86.exe
Diğer özellikler:
- Veri modeli araç penceresi başlığı komutuyla
$OpenDmoToolwindowözelleştirilebilir ve başlık çubuğu bağlam menüsü aracılığıyla da değiştirilebilir. - Sembol dosyalarının paralel HTTP indirmelerini etkinleştirmek için yeni hata ayıklayıcı ayarı. Bu seçenek varsayılan olarak etkindir.
Hata düzeltmeleri
- Komut satırı üzerinden açılan döküm dosyalarının hedef yolunun
-zmenüsünden başarıyla açılabilmesi için kaydedilme şekli düzenlendi. - Betik Düzenleyici penceresindeki kilitlenme düzeltildi.
- WinDbg'nin kaynak dosyaların daha tutarlı bir görünümünü sağlamak için Kaynak penceresinde açılan kaynak dosyalarda tutarsız satır sonlarını işleme şekli düzeltildi.
- Yeni paralel indirmeler özelliğini kullandığınızda HTTP sembol sunucuları için kimlik bilgilerinin yenilenmediği bir sorun düzeltildi.
- Veri modeli nesnelerinin özelliklerinin JavaScript uzantılarında düzgün numaralandırılmama sorunu düzeltildi.
- Sürükleyerek yeniden sıralandığında sütun metninin kaybolmasına neden olan bir sorun düzeltildi.
- Komut satırı seçenekleri aracılığıyla olay filtreleme ayarının başlangıçta hata ayıklama hedefine uygulanmadığı bir sorun düzeltildi.
- Bazen bir araç penceresinin çıkarılmasıyla boş içerikle sonuçlanan bir sorun düzeltildi.
- ARM64 makinelerinde X64 öykünmüş işlemlerin minidumpları üzerinde hata ayıklama sorunu düzeltildi.
- Belirsiz kesme noktalarının hata ayıklayıcının çökmesine neden olduğu bir sorun düzeltildi.
- Canlı bir Linux işleminde hata ayıklama sırasında GDBServer'ın işlem çıkışında kilitlenmesi sorunu düzeltildi.
- Özelliklerin daha iyi numaralandırılması ve kilitlenme sorununun düzeltilmesi dahil olmak üzere JavaScript uzantılarında hata ayıklama (
.scriptdebugile ilgili birden çok sorun düzeltildi.
Genel kullanıcı arabirimi geliştirmeleri
- Komut önerisi açılır penceresi imleçle hizalanacak şekilde ayarlandı. Artık imleç öncesinde her şey yerine yalnızca önerilen tamamlamaları gösterir.
- Hata ayıklama hedefi hata iletişim kutusunu açma hakkında daha fazla ayrıntı sağlandı. Açık döküm hataları için açılamayan bir TSG dosyasına köprü sağlandı.
- Araç pencerelerinin başlık çubuklarına, yerleşik sekmelerindeki gibi aynı bağlam menüsü verildi.
- Yerel Ayarlar, İzleme ve Modelpencerelerinde görsel iyileştirmeler yapıldı.
- Zaman Yolculuğu Hata Ayıklama (TTD) 1.11.532 sürümüne güncelleştirildi. Daha fazla bilgi için bkz. TTD sürüm notları.
1.2502.25002.0
Yeni özellikler
Komut penceresi IntelliSense
Komut giriş istemi, yazılan ilk karakter . (nokta), ! (bang) veya $ (dolar işareti) olduğunda otomatik olarak önerilen tamamlamaları gösterir.
Öneriler, Ctrl+Ara Çubuğu komut kısayoluyla da çağrılabilir.
Anlık görüntü hata ayıklama
WinDbg canlı işlemlerde yerel olarak hata ayıkladığında, işlemin anlık görüntülerini de alabilir. Anlık görüntülerle canlı işlem arasında geçiş yapmak için Uzantılar sekmesindeki simgeleri kullanın.
Benzer şekilde, WinDbg bir snapshot:pid=<process pid in hex> işlem anlık görüntüsüne Connect to remote debugger protokol dizesi aracılığıyla bağlanabilir ve bu, işlemi askıya almadan yapılabilir.
Yeni veri modeli API'leri
Debugger.Utility.Symbols.GetTypeInformationGeçirilen herhangi bir nesneyle ilişkili tür bilgilerini döndürür. İsteğe bağlı bir bağımsız değişken, işaretçilerin (bir düzey) otomatik olarak çözülmesini sağlar ve herhangi bir işaretçinin (veya referansın) altındaki türü istiyorsanız kullanılabilir.
Debugger.Utility.Control.CreateStepFilter(<Type>, <Pattern>)Tüm kesme noktası oluşturma API'lerinin yanındaki ad alanında bulunan yeni bir adım filtresi oluşturur.
Debugger.State.StepFilters,
IdDescriptionTypevePatternözelliklerineIsEnabledsahip adım filtrelerinin listesini döndürür. ** Adım filtre nesneleri üzerinde bir.Remove()yöntemi vardır.
clrcomposition.dll olmadan iyileştirilmiş CLR hata ayıklama deneyimi
Yeniden dağıtılabilir bileşen dbgeng.dll , clrcomposition.dll'in varlığına gerek duyulmadan ortak dil çalışma zamanı (CLR) çerçeveleri için yığın yürüme desteğini geliştirir.
Rastgele geliştirmeler
- Linux çekirdeği hata ayıklama desteği geliştirildi (özellikle 6.11+ çekirdekler için).
- ZSTD sıkıştırılmış KDUMP sayfaları için destek eklendi.
Hata düzeltmeleri
- Sunucu işletim sistemi (SOS) 9.0.557512 sürümüne güncelleştirildi.
- msdia140.dllyüklenirken iptal edilen imzaların denetlenmesiyle ilgili performans gerilemesi düzeltildi.
- XSTATE bağlamı okunurken yaşanan kilitlenme giderildi.
- Parçalama penceresinde devre dışı bırakılmış kesme noktası vurgusu, etkin kesme noktasından ayrımı belirginleştirmek için düzeltildi.
- Yüzer araç penceresini kapattığınızda oluşan kilitlenme düzeltildi.
- Son izleme dosyası açıldığında Zaman Çizelgeleri penceresinin geçerli konumunun her zaman doldurulmaması sorunu düzeltildi.
- Ayrıştırma ve Bellek pencerelerinde yeni bir değer girildikten sonra her zaman güncelleştirilmeyen bir sorun düzeltildi.
- Koyu temadaki başlık çubuğu renk düzeni düzeltildi.
- Ertelenmiş kesme noktalarının sunumu, Kesme Noktaları penceresinde, oluşturuldukları sırada girilen özgün ifade yerine Konum'un
0x0gösterilmesi ile düzeltildi. Ayrıca, bağlı olmadığını gösteren ayrı bir simgesi de vardır. - Yerel Ayarlar ve İzleme pencerelerinde görünür bir öğeye sağ tıklamanın görünümün yukarı kaymasına neden olduğu bir sorun düzeltildi.
- ile
natvisilgili sorunlar düzeltildi. Daha fazla bilgi için özgün hata raporuna bakın. - Hata ayıklayıcı spam sorunu
kdmesajıyla düzeltildiError getting port connector information. Daha fazla bilgi için özgün hata raporuna bakın. - Koşul yanlış olduğunda koşullu kesme noktalarını tetikleyen
gcsorunu düzeltildi. - TTD izlemesinde hata ayıklarken YMM ve ZMM yazmaçlarının artık görüntülenebilmesi sağlandı.
Erişilebilirlik düzeltmeleri
- Yerel Ayarlar, İzleme ve Kesme Noktaları pencereleri için geliştirilmiş klavye gezintisi.
- Şerit ve YerelLer, İzleme ve Kesme Noktaları pencerelerinin görsel okunabilirliği geliştirildi.
- Yerel Ayarlar, İzleme ve Kesme Noktaları pencerelerinin iyileştirilmiş ekran okuyucu kullanılabilirliği.
- Yerel Ayarlar, İzleme ve Kesme Noktaları pencerelerindeki öğeleri düzenlemek için mümkün olduğunda önceki klavye odağını, seçimi ve kaydırmayı sürdürür.
- Windows metin ölçeklendirmesi için genel destek geliştirildi.
Genel kullanıcı arabirimi geliştirmeleri
- Odağı komut girişi metin kutusundan komut çıktı bölmesine İşaret modu olarak değiştir (komut istemi gibi) olarak taşımak için bir komut eklendi. Kısayol Ctrl+M tuşlarına basın.
- Kesme Noktaları penceresine Ayrıştırma'ya Git bağlam menü öğesi eklendi.
- Ayrıştırma penceresine Yönergeye Çalıştır, Yönerge İşaretçisini Ayarla, Kaynağa Git, Kesme Noktasını Değiştir ve Kesme Noktası Durumlarını Değiştir için bir bağlam menüsü eklendi.
Zaman Yolculuğu Hata Ayıklama
- Sürüm 1.11.481'e güncelleştirildi.
- Daha fazla bilgi için bkz. TTD sürüm notları.
1.2410.11001.0
Uyum bozucu değişiklik
Şimdi dbghelp.dll, msdia140.dll'e dinamik olarak bağlanır. Bu değişiklik, msdia140.dll’i dahil etmeden dbghelp.dll’i yeniden dağıtan araçları etkilemelidir. dbghelp.dll içeren NuGet paketleri de msdia140.dlliçerir.
Hata düzeltmeleri
- Uzantı galerisi fonksiyon takma adlarının yükleme tetikleyicilerine bağlanmadığı bir sorun düzeltildi.
-
ERROR_INTERNET_SECURITY_CHANNELhatası alındığında sembol deposunun artık çalışmadığı bir sorun düzeltildi. - İngilizce dışındaki klavye düzenlerde Komut penceresine ters eğik çizgi yazılamıyordu; bu sorun düzeltildi.
- Yerel Ayarlar, İzleme ve Kesme Noktaları pencerelerindeki metin kutusunun, metin barındırıldığı sütundan daha uzun olduğunda imlece kaydıramama sorunu düzeltildi.
- CAB veya ZIP dökümleri için *.*.dmp (çift dönem) üzerinden *.dmp (tek nokta) önceliklendirildi.
Erişilebilirlik düzeltmeleri
- Yerel ve İzleme pencerelerinde klavye ile sütun boyutlandırma düzeltildi.
- WinDbgX genelinde geliştirilmiş klavye gezintisi.
1.2409.17001.0
Erişilebilirlik düzeltmeleri
Ekran okuyucu kullanarak WinDbg ile etkileşim kurarken karşılaşılan çeşitli sorunlar düzeltildi.
Hata düzeltmeleri
- WinDbgX'in kaldırılmasının WinDbg'nin (Klasik) açılmasını engellemesine neden olan bir sorun düzeltildi.
- WinDbgX'in açıldıktan sonra yeniden boyutlandırılması sorununu düzelttik.
Zaman Yolculuğu Hata Ayıklama
- Sürüm 1.11.429'a güncelleştirildi.
- Daha fazla bilgi için bkz. TTD sürüm notları.
1.2407.24003.0
Yeni özellikler
Yeni JavaScript betik sağlayıcısı
Şimdi V8 tabanlı geriye dönük uyumlu yeni bir JavaScript sağlayıcısı gönderiyoruz. Sonuç olarak ARM64 konakları artık JavaScript uzantılarını kullanabilir. ARM64 kullanıcı arabirimi artık varsayılan olarak ARM64 altyapısını da kullanır.
Yeni sağlayıcı tüm mimarilerde varsayılan olarak etkindir. x86 ve x64'te, .veighton ve .veightoff komutları aracılığıyla açılabilir veya kapatılabilir. Gelecekte bu komutları ve eski JavaScript sağlayıcısını kaldırmayı planlıyoruz.
Uzantı galerisi ve veri modeli aracılığıyla kullanıcı arabirimi genişletilebilirliği
Uzantı galerisi bildirimlerine sahip hata ayıklayıcısı uzantıları artık WinDbg şeridindeki yeni Uzantılar sekmesine simgeler ekleyebilir. Bu simgelerin seçilmesi belirli bir veri modeli sorgusunun görselleştirmesini tetikler. Genişletilebilirlik, uzantı galerisi bildirimine görünümler eklenerek gerçekleştirilir. Görünüm, bir adı ve simgeyi veri modeli sorgusu ve görünüm türü ile ilişkilendiren bir bağlantı oluşturur. Belgeler için bkz. Uzantı galerisi bildirim belgeleri.
Uzantı galerisi özel durum yükleme tetikleyicisine özel durum parametreleri eklendi
Galeri uzantısı artık belirli özel durum parametre değerlerine göre koşullu olarak yüklenebilir. Daha fazla bilgi için bkz. Uzantı galerisi bildirim belgeleri.
Belirli simgeleri hiçbir zaman indirmemek için yapılandırma seçeneği
Artık belirtilen görüntüler için simge indirmeyi atlayabilirsiniz.
SymbolsDbgX.xml yapılandırma dosyanızın bölümünde simgelerin listesini ekleyebilirsiniz:
<Namespace Name="DisabledSymbolsDownload">
<Setting Name="MSEdge.dll" Type="VT_BSTR" Value=""></Setting>
</Namespace>
Hata ayıklayıcıda, indirilmeyen simgelerin geçerli listesini görüntülemek için dx Debugger.Settings.Symbols.DisabledSymbolsDownload çalıştırabilirsiniz.
Listeyi doğrudan hata ayıklayıcıdan da değiştirebilirsiniz:
dx @$curprocess.Modules[1].DisableSymbolDownload()
dx @$curprocess.Modules[1].EnableSymbolDownload()
SourceLink bilgilerini görüntülemek için yeni komut
Gömülü SourceLink baz alınarak kaynakların indirilmesiyle ilgili hata ayıklama sorunlarına yardımcı olmak için, artık hata ayıklayıcının kullandığı içerikleri !lmsourcesinfo module görüntülemek amacıyla SourceLink komutunu kullanabilirsiniz.
Genel kullanıcı arabirimi geliştirmeleri
Modüller ve Yığın pencereleri gibi pencerelerde küçük geliştirmeler yapıldı.
- Üst bilgi sütunu, kılavuz görünümlerini sıralamak için kullanılır.
- Daha fazla sağ tıklama eylemi kullanılabilir.
- Yığın penceresi çerçeveleri uygun olduğunda iç içe geçmiş olarak gösterir.
Hata düzeltmeleri
- 4 GB'tan büyük PDB'lerin HTTP üzerinden indirilememe sorunu düzeltildi. Edge, böyle bir PDB örneğidir.
- Hata ayıklayıcısı kimlik bilgisi sağlayıcısında önbelleğe alma sorunu düzeltildi. (Artık site başına kimlik bilgilerini önbelleğe alır.)
- Uzantı galerisi yükleme tetikleyicilerinin değerlendirilmesi sırasında oluşan hatalar düzeltildi.
- kilitlenmeye neden olabilecek
!addressile ilgili bir hata düzeltildi. -
!heap -a -adüzeltildi ve şimdi çalışıyor.
TTD
Sürüm 1.11.410 için bkz. TTD sürüm notları .
1.2402.24001.0
Yeni özellikler
Canlı Linux hata ayıklama
Artık bir Linux işleminde canlı olarak hata ayıklayabilirsiniz. Daha fazla bilgi için şu makalelere bakın:
WinDbg Linux üzerinde çalışmadığından, öngörülebilir gelecek için WinDbg istemcisi Windows gerektirir.
Zaman Yolculuğu ile Hata Ayıklama kullanarak yürütme alt kümesini kaydetme
Artık TTD'yi önemsediğiniz modüllere odaklama amacıyla kaydedilecek modüllerin listesini belirtebilirsiniz. Bu işlev, kayıt ek yükünü azaltabilir. Bunu kullanmak için Yapılandır ve Kaydet iletişim kutusunda Yürütme alt kümesini kaydet'i seçin. Ardından kaydedilmesini istediğiniz modülleri belirtin. (Daha fazla bilgi için bkz . Bilinen sorunlar.)
Daha hassas denetim için, yeni bir işlem içi kayıt API'sini kullanarak programınızı tam olarak kaydedebilirsiniz. Programınızı kaydetmeyi öğrenmek için örnek kodumuza ve belgelerimize bakın.
Kompakt yazmaç penceresi
Yeni yazmaç penceresi, r komutunun çıktısına benziyor. Yeni kayıt penceresinden düzenleme henüz desteklenmiyor.
Bellek komutlarına e (Değerleri Girin) için yeni parametreler
e Belleğe (Değerleri Girin) komutları artık (Belleği Görüntüle) komutları gibi d fiziksel adresleri destekliyor. Bu seçenekler yalnızca çekirdek modunda desteklenir.
| Seçenek | Açıklama |
|---|---|
/p |
Görüntü için fiziksel bellek adreslerini kullanır. Aralık tarafından belirtilen aralık, sanal bellek yerine fiziksel bellekten alınır. |
/p[c] |
/pile aynıdır, ancak önbelleğe alınan bellek okunur. "c" etrafındaki köşeli ayraçlar eklenmelidir. |
/p[uc] |
/p ile aynıdır, ancak önbelleğe alınmamış bellek okunur. "uc" etrafındaki köşeli ayraçlar eklenmelidir. |
/p[wc] |
/pile aynıdır, ancak birleştirilmiş yazma belleği okunur. "wc" etrafındaki köşeli ayraçlar eklenmelidir. |
Daha fazla bilgi için bkz. e, ea, eb, ed, eD, ef, ep, eq, eu, ew, eza (Değerleri Girin).
Hata düzeltmeleri
- Linux hata ayıklamasında Rust isim çözme desteği eklendi.
- CLR hata ayıklaması için geliştirmeler yapıldı:
- CLR çerçeveleri için karma mod yığın izlemesini zorlama özelliği eklendi.
-
ForceMixedModeStackWalkerayarıconfig.xmlveyaDbgX.xmleklendi. - Tek seferlik araştırmalar için veya yapılandırma ayarını değiştiremiyorsanız komutu eklendi
!forceclrmixedmodeunwind.
-
- CLR çerçeveleri için karma mod yığın izlemesini zorlama özelliği eklendi.
- Linux'ta CLR hata ayıklamada genel iyileştirmeler yapıldı.
- CPU başına değişkenler ve
LinuxKernel.jsile ilgili birkaç sorun giderildi.-
!runqkomutunu, CPU başına çekirdek zamanlayıcı kuyruğu dökümü alabilmek içinLinuxKernel.js'e ekledik, bu da Linux kaza aracırunqkomutuna benzer. -
LinuxKernel.jsiçindeki çekirdek değişikliklerine karşılık gelen çeşitli komutlar düzeltildi. Daha yeni çekirdeklerde zamanlayıcı ağacı ham RB düğümleri yerine önbelleğe alınmış RB düğümlerini kullanır. Yeni çekirdeklerdeall_bdevslistesi kaldırıldığından, blok cihazları artık süper blokblockdev_superblocküzerinden izleniyor.
-
- Visual Studio'nun son sürümleri gibi çalışmak için çeşitli
natvisdüzeltmeler yapıldı. - Tercih edilen
sourcelinkile eskisourceinfokarşısında.- PDB'lerden akışları görüntülemek için
!lmsourcesinfo <module>komutu eklendi (bu,sourcelinkile ilgili hata ayıklama sorunlarına yardımcı olmak içindir).
- PDB'lerden akışları görüntülemek için
Bilinen sorunlar
TTD ile kaydedilecek modüllerin listesini belirttiğinizde, birden fazla modül belirtilmesi bu sürümde çalışmaz.
1.2308.2002.0
Birçok hata düzeltmesi ve küçük geliştirmeler yapıldı.
1.2306.12001.0
Birçok hata düzeltmesi ve küçük geliştirmeler yapıldı.
1.2303.30001.0
Not
Hata ayıklayıcısı WinDbg Preview'dan WinDbg olarak yeniden adlandırıldı.
Windows için Hata Ayıklama Araçları ile yayımlanan eski hata ayıklayıcı artık WinDbg (Klasik) olarak bilinir.
ARM64'te Zaman Yolculuğu Hata Ayıklama
WinDbg ARM64'te yerel olarak çalışır ve yerel ARM64 işlemlerinin TTD'sini de etkinleştirdik. Artık x64 makinenizde bile yerel ARM64 işlemlerini (ve x86 ve ARM32 işlemlerini) kaydedebilir ve bunların hatalarını kolayca ayıklayabilirsiniz. ARM64 cihazlarında x64 veya x64 özellikli (ARM64EC) işlemler için destek henüz sağlanmamıştır.
Genel TTD performansı da iyileştirildi ve ortak SIMD yönergelerini kullanan işlemler için kayıt ek yükü önemli ölçüde azaltıldı. Toplamda MMX ile SSE 4.2, AVX ve AVX2 arasında değişen 65 yeni yönerge iyileştirilmiştir.
Belirsiz kesme noktası çözümlemesi
Belirsiz kesme noktaları, hata ayıklayıcının bir kesme noktası ifadesinin birden çok konuma çözümlendiği belirli senaryolarda kesme noktaları ayarlamasına olanak sağlar. Daha fazla bilgi için bkz. Belirsiz kesme noktası çözümlemesi.
1.2107.13001.0
Regex araması
WinDbg Preview araması artık regex olarak bilinen normal ifadeleri kullanarak arama seçeneği içeriyor. Aramak istediğiniz pencerede regex'i etkinleştirmek için Ctrl+F tuşlarına basın. Ardından arama kutusunun yanındaki, etiketli .* düğmeyi açıp kapatın.
Kısıtlı mod
Kısıtlı mod, WinDbg Preview'ın yalnızca uzaktan hata ayıklama oturumlarına ve döküm dosyalarına başlatabileceği hata ayıklama oturumlarının türünü sınırlayabilen isteğe bağlı bir ayardır. Daha fazla bilgi için bkz . WinDbg: Kısıtlı mod.
Gölgeli değişken desteği
Önceki sürümlerde WinDbg, kapsamdaki başka bir değişkenle adını paylaşan bir değişkeni değerlendirmeye () veya görüntülemeye (??dx) çalışırken "Belirsiz Simge" hataları oluşturur. WinDbg artık aynı adı paylaşan değişkenleri ayırt etmek için değişken adının sonuna @n ekliyor. Örnekler arasında foo@0 ve foo@1 bulunmaktadır.
Bu değişiklik Yerel Ayarlar penceresine de yansıtılır. Daha önce, yalnızca kapsamdaki en yakın değişken görünüyordu.
1.2104.13002.0
Akıllı numara seçimi ve arama
WinDbg Preview'ın kullanışlı bir üretkenlik özelliği , Komut penceresindeki desenleri algılama özelliğidir. Desenleri algılamak için herhangi bir metni seçin ve bu metnin diğer tüm örnekleri vurgulanır. Bu vurgulama, bellek desenlerine baktığınızda kullanışlıdır. Şimdi, sayı onaltılık, ondalık veya bilimsel olarak nasıl biçimlendirilirse biçimlendirilsin, diğer sayılardaki eşdeğer sayıları vurgular. Numaralandırma düzenleri hakkında daha fazla bilgi için bkz. n (Sayı Tabanını Ayarla).
Örnek:
0x000001e2fb3f6160 öğesini seçtiğinizde, biçim ne olursa olsun diğer tüm örnekler vurgulanır.
Bu özellik yarı geçici vurgulamalarla da çalışır. Tüm örneklerini vurgulamak için Ctrl tuşunu basılı tutarak bir sayıyı çift tıklatın. Komut geçmişinizde birden çok önemli sayıyı bu şekilde izleyebilirsiniz. (Vurguyu temizlemek için Ctrl'yi seçin ve numarayı yeniden çift tıklatın.) Son olarak, bu özellik Ctrl+F tuşlarını seçerek sayılarda arama yaptığınızda da çalışır.
Genişletilmiş erişim için kaynak kodu
.srcpath, .lsrcpath (Kaynak Yolunu Ayarla) kaynak yolu komutu yeni etiketini DebugInfoDiçerecek şekilde güncelleştirildi. Daha fazla bilgi için bkz . Kaynak kodu genişletilmiş erişimi.
Veri modelinde WOW süreçlerinin ev sahibi ve misafir durumları
64 bitlik bir bağlamdan 32 bit WOW işleminde hata ayıkladığınızda, artık veri modelinde hem konak hem de konuk durumlara erişebilirsiniz.
32 bit konuk durumu örnekleri:
dx @$curprocess.Environmentdx @$curthread.Environmentdx @$curthread.Stack
64 bit konak durumu örnekleri:
dx @$curprocess.NativeEnvironmentdx @$curthread.NativeEnvironmentdx @$curthread.NativeStack
JavaScript hata ayıklama geliştirmeleri
Kullanıcı arabirimine yüklenen JavaScript artık konsolunda .scriptdebug doğrudan hata ayıklama için komutunu kullanıyor. Daha fazla bilgi için bkz. JavaScript hata ayıklayıcısı betiği: JavaScript hata ayıklama.
Erişilebilirlik geliştirmeleri
WinDbg Preview ile engelli mühendisler için kapsayıcı bir hata ayıklayıcı oluşturmayı taahhüt ettik. Aşağıdaki erişilebilirlik iyileştirmelerini yaptık:
- Komut penceresi bağlantıları klavye aracılığıyla tıklanabilir hale getirildi (Shift+Enter tuşlarına basın).
- Ana menünün geliştirilmiş klavye gezintisi.
- Şeridin klavye gezintisi iyileştirildi.
- Kullanıcı arabirimi öğelerinde artan karşıtlık.
Zaman Yolculuğu Hata Ayıklaması için yeni Üzerine Yazma veri erişim türü
Zaman Yolculuğu Hata Ayıklama artık bir Overwrite veri erişim türü sağlar. gibi dx @$cursession.TTD.Memory() bellek sorgularının artık eski yazma değerlerini gösteren başka bir sütunu vardır.
Diğer düzeltmeler, iyileştirmeler ve güncelleştirmeler
- USB 3.1 donanım sorununu otomatik olarak algılamak ve buna yönelik bir çözüm uygulamak için, çekirdek hata ayıklama sunucusu ve hedefi her ikisi de USB 3.1 denetleyicisi olduğunda yeni bir özellik eklendi.
- Yeni bir kullanıcı arabirimi kısayolu eklendi: DML bağlantısı üzerinden Ctrl+Shift+select tuşları bunu panoya kopyalar.
1.0.2007.01003
Zaman Çizelgesi Yer İşaretleri
WinDbg'de önemli zaman geçişi konumlarına yer işareti ekleyin; konumu manuel olarak kopyalayıp Not Defteri'ne yapıştırmaktan kaçının. Yer işaretleri, izlemedeki diğer olaylara göre farklı konumları bir bakışta görüntülemeyi ve bunlara ek açıklama eklemeyi kolaylaştırır.
Yer işaretleri için açıklayıcı bir ad sağlayabilirsiniz.
Zaman ÇizelgesiniGörüntüle'de> bulunan Zaman Çizelgeleri penceresi aracılığıyla yer işaretlerine erişin. Yer işaretinin üzerine geldiğinizde yer işareti adı görüntülenir.
Yer işaretini seçip tutabilir (veya sağ tıklayarak) bu konuma gidebilir, yer işaretini yeniden adlandırabilir veya silebilirsiniz.
Modüller penceresi
Yeni pencerede, Görünüm şeridi aracılığıyla sağlanan modüller ve ilgili bilgiler gösterilir. Modüller penceresi şunları gösterir:
- Yol konumu da dahil olmak üzere modülün adı.
- Yüklenen modülün bayt cinsinden boyutu.
- Modülün yüklendiği temel adres.
- Dosya sürümü.
Çevrimiçi hata ayıklamada kullanılabilen iş parçacığı adları/açıklamaları
SetThreadDescription kaynağından ayarlanan iş parçacığı adları, artık canlı kullanıcı modu hata ayıklaması sırasında kullanılabilir. İş parçacığı adları, ~ komutu veya hata ayıklayıcı veri modeli kullanılarak alınabilir.
0:000> ~
0 Id: 53a0.5ffc Suspend: 1 Teb: 000000b1`db1ed000 Unfrozen "Hello world!"
7 Id: 53a0.9114 Suspend: 1 Teb: 000000b1`db1ef000 Unfrozen
8 Id: 53a0.2cc4 Suspend: 1 Teb: 000000b1`db1f1000 Unfrozen
9 Id: 53a0.5c40 Suspend: 1 Teb: 000000b1`db1f3000 Unfrozen
0:000> dx @$curthread
@$curthread : ConsoleTestApp!ILT+25(mainCRTStartup) (00007ff7`fac7101e) [Switch To]
Id : 0x5ffc
Name : Hello world!
Stack
Registers
Environment
Taşınabilir PDB desteği
Taşınabilir PDB desteği eklendi. PDB biçimi, CLI dil derleyicileri tarafından üretilen ve hata ayıklayıcılar ve diğer araçlar tarafından kullanılan hata ayıklama bilgilerinin kodlamasını açıklar. Daha fazla bilgi için bkz . Taşınabilir PDB simgeleri.
Diğer değişiklikler ve hata düzeltmeleri
- WinDbg için AMD64 ve Linux çekirdek dökümü hata ayıklama desteği sağlandı.
- Zaman yolculuğu kayıtlarının iyileştirilmesi ve diğer düzeltmeler yapıldı.
1.0.1912.11001
- TTD zaman çizelgeleri: Yeni bir pencere, izlemenizdeki önemli olayların görsel bir gösterimini görüntüler: özel durumlar, kesme noktaları, işlev çağrıları ve bellek erişimleri. Zaman çizelgeleri otomatik olarak açılır ve özel durumları (varsa) ve kesme noktalarını görüntüler. Daha fazla bilgi için bkz. WinDbg Önizlemesi: Zaman Çizelgesi.
- Varsayılan pencere chrome'una geçildi: Kullandığımız özel pencere kromu bazı ölçeklendirme ve yeniden boyutlandırma sorunlarına neden olduğundan şimdilik kaldırdık.
- Dosya menüsü geliştirilmiş klavye gezintisi: Dosya menüsünde yalnızca klavyeyle gezinmek daha kolaydır.
Diğer değişiklikler ve hata düzeltmeleri
- Hedefiniz çalışırken, hedef olmadığında "Belirtilmemiş hata" gösterilmemesi için Stack ve Locals pencerelerini devre dışı bırakın.
- Hangi hizmetlerin çalıştığını kolayca bulmanıza yardımcı olması için Ekle iletişim kutusuna bir Hizmetler sütunu eklendi.
- Uygulamalar bağımsız değişkenlerle açıldığında mimari algılamanın çalışmamasına neden olan bir hata düzeltildi.
- Özel simgeler yüklendiğinde Ayrıştırma penceresi için iyileştirilmiş ayrıştırma .
- jsprovider.dll artık otomatik olarak yüklendiği için betik şeridinden JSProvider Yükle düğmesi kaldırıldı.
1.0.1908.30002
- TTD çağrıları nesnelerinde yapılan iyileştirmeler: Çağrı sorguları artık parametre adlarını, türlerini ve değerlerini içeriyor. İşlev çağrıları için izlemeler arasında sorgu yaptığınızda, tam olarak yazılan parametreleri ve bunların değerlerini alabilirsiniz. Bu özellik sonuçları parametrelere göre filtrelemeyi kolaylaştırır.
- Open Enclave desteği: WinDbg Preview artık Open Enclave uygulamalarında hata ayıklayabilir. Daha fazla bilgiler için bkz: Open Enclave hata ayıklama.
- ELF çekirdek dökümleri: Open Enclave'i desteklemenin bir parçası olarak WinDbg hem kuşatmalardan hem de Linux uygulamalarından ELF çekirdek dökümlerini ve ikili dosyalarını ve AYRıCA CÜCE sembollerini (CÜCE 5 şu anda desteklenmemektedir) açabilir. Windows olmayan bir uygulamadan çekirdek dökümü açtığınızda, temel pencerelerin ve komutların tümü düzgün çalışmalıdır, ancak çoğu uzantı ve Windows'a özgü komutlar çalışmaz. ELF ve DWARF dosyaları SSQP anahtar kuralları tarafından tanımlanan temel konvansiyonları takip ederek sembol sunucularından indirilir. Kuşatmalar desteklenen tek senaryodur, ancak diğer Linux çekirdek dökümlerini açmayla ilgili geri bildirimleri memnuniyetle karşılıyoruz.
- TTD dosya biçimi değişikliği: TTD izlemeleri için dosya biçiminde yapılan önemli bir güncelleştirme, ileriye dönük uyumluluğu bozar. WinDbg Preview'ın önceki sürümleri, bu sürümle ve WinDbg Preview'ın gelecekteki sürümleriyle kaydedilen izlemeleri açamaz. Bu sürüm ve gelecekteki sürümler hem yeni hem de eski izleri açabilir.
Diğer değişiklikler
- TTD artık dizin oluşturma için 64 bit motorunu ve yeniden yürütmeler için uygun hata ayıklayıcı motorunun bit mimarisini kullanıyor. Dizin oluşturma sırasında olası bellek sorunları ve yeniden yürütme sırasında SOS sorunları en aza indirilir.
- Herhangi bir parametre olmadan çalıştırılırken
dxartık daha kolay gözatılabilirlik için kök ad alanı gösterilir. - Ayarlar menüsünde artık varsayılan simgeyi ve kaynak önbellek konumunu değiştirme seçenekleri vardır.
- AVX-512 kaydı desteği (AVX-512 kaydı normalden daha büyük bir yavaşlamaya neden olur) geliştirilmiştir.
- Çevrimdışı lisanslama etkinleştirildi.
1.0.1905.12001
SymSetDiaSession hata azaltma geliştirmeleri: İşlemimize DbgHelp ekli uygulamaların neden olduğu hatayı azaltmaya yönelik düzeltme bazı senaryolarda çalışmıyordu. Bu konuda geliştirmeler yaptık ve bu hatayla ilgili geri bildirimleri izlemeye devam ettik.
Vurgu rengi özelleştirmesi: Sıklıkla senaryolarda birkaç WinDbg örneğinin açık olması gerekir. Aralarında gidip gelmek kafa karıştırıcı olabilir ve hangisinin "doğru" olduğunu bulmak biraz zaman alabilir. Oturumları görsel olarak ayırt etmeye ve aralarındaki değişimi kolaylaştırmaya yardımcı olmak için mavi vurgu rengini değiştirme özelliğini ekledik.
Görünüm şeridini seçin ve son bölümde bir tema rengi seçeneği belirleyin. Gelecekteki oturumlar son hedeflerden açıldığında, vurgulu renk hedefin çalışma alanının bir parçası olarak kalır.
Kaynak belirteçleştirme geliştirmeleri: Kaynak penceresinde artık Rust kaynak dosyalarını ve C++ SEH __try/__except/__finally/__leave belirteci için temel destek sağlandı.
Coroutine geliştirmeleri: Coroutine yerel değişkenleri ve belirli iyileştirilmiş değişkenler için desteği geliştirdik.
Varsayılan simge ve kaynak önbellek ayarı: Simgelerin önbellek konumunu değiştirmek için Hata ayıklama ayarları altındaki Ayarlar menüsüne bir seçenek ekledik. Bu ayarı boş yapmanın kaynak yüklemenin başarısız olmasına neden olduğu bilinen bir sorun vardır. Bu sorunun gelecekteki bir sürümde oluşmasını önlemek için doğrulama eklemeyi planlıyoruz.
-pv düzeltmeleri:
-pv(noninvasive attach) özelliğinin bazı durumlarda çalışmasını engelleyebilecek bir hatayı düzelttik.
1.0.1904.18001
- SymSetDiaSession hatası için düzeltme: Bazı durumlarda WinDbg Preview'ın açılmasını engelleyen bir hata raporu aldık. Birkaç dış uygulama, biz yüklemeden önce işlemimize DbgHelp'in bir sürümünü eklemeye çalışır. Bazıları eksik işlevlere sahip bir DbgHelp sürümü kullanıyor ve bu da bu özellikleri kullanmayı denediğimizde bu hataya neden oluyor. Bu sorun için bir düzeltme ekledik ve hala devam eden senaryolar olup olmadığını belirlemek için izlemeyi planlıyoruz.
- Yazı tipi denetimi: Yazı tipini ve yazı tipi boyutunu denetlemek için ayarlar ekledik. İki farklı ayar vardır: biri metin pencereleri ( Ayrıştırma, Kaynak ve Komut gibi tek aralıklı pencereler) ve biri araç pencereleri ( Yerel Öğeler ve Yığın gibi) içindir. Bu seçenekler birkaç alanı etkilemez. Gelecekte bunları güncelleştirmeyi planlıyoruz.
- Vurgulama iyileştirmeleri: Komut penceresindeki metnin kalıcı olarak vurgulanması artık Kaynak ve Notlar pencerelerindeki metni de vurgular.
- Kaynak yükleme geliştirmeleri: Kaynak dosyaları yüklemenin çalışma şeklini değiştirdik. Daha önce bir kaynak dosyayı açtığınızda, daha fazla komut çalıştırma gibi altyapı işlemleri mümkün değildi veya tahmin edilemezdi. Daha iyi paralellik ve kaynak açma işlemlerinin daha güvenilir iptali sağlamak için yüklemenin gerçekleştiği yeri değiştirdik.
Diğer değişiklikler ve hata düzeltmeleri
- Kaynak penceresinin bağlam menüsüne Ayrıştırma'ya git eklendi.
- Ayrıştırma penceresine Geçerli yönergeyi takip et onay kutusu eklendi.
- Komut penceresinin büyük miktarda metin çıkışında yavaş performans göstermesine neden olan bir hata düzeltildi.
- Visual Studio'ya benzer bir performans için Page up ve Page down tuşları değiştirildi.
- Kaynak penceresinde bir ASM dosyası açıldığında temel açıklama, dize ve yönerge vurgulama özelliklerine sahip olacak şekilde değişiklikler yapıldı.
1.0.1812.12001
Bu sürüm aşağıdaki güncelleştirmeleri içerir:
-
Hata ayıklayıcısı veri modeli C++ üst bilgisi: C++ aracılığıyla hata ayıklayıcı veri modelini genişletmek için Windows SDK'sının bir parçası olarak eklenen yeni bir C++ üst bilgisi
DbgModel.hvardır. Daha fazla bilgi için bkz . Hata ayıklayıcısı veri modeli C++ genel bakış. Bu sürüm, komut, JavaScript ve yenidxüst bilgi aracılığıyla erişilebilen hata ayıklayıcı veri modeline daha fazla API stili özellik ekleyen yeni birDbgModel.huzantı içerir. Bu uzantı, Debugger.Utility.Code ad alanı ve Debugger.Utility.FileSystem ad alanı aracılığıyla yerel dosya sistemi aracılığıyla derleme ve kod yürütme hakkında bilgi içerecek şekilde veri modelini genişletir. -
Yapay türler uzantısı: Bu yeni API uzantısıyla GitHub depomuzda yeni bir örneğimiz var. Bu JavaScript uzantısı temel C üst bilgi dosyalarını okur ve üst bilgide tanımlanan yapılar ve birleşimler için yapay tür bilgilerini tanımlar.
dxKomut aracılığıyla bellek, bu türlerle ilgili tür bilgilerini içeren bir PDB'niz varmış gibi yapılandırılmış olarak görüntülenebilir.
Diğer değişiklikler ve hata düzeltmeleri
- WinDbg Preview artık adımlarken Kaynak pencereleri veya Ayrıştırma penceresini ön plana getirme işlemini daha akıllıca işler.
- Çekirdek hata ayıklama sırasında başlangıçta daha önemli bilgilere sahip olmak için WinDbg Önizlemesi pencere başlığı yeniden düzenlendi.
- Komut penceresindeki alternatif arka plan karşıtlığı biraz daha belirgin olmalıdır.
1.0.1810.2001
Bu sürüm şu güncelleştirmeleri içerir:
- Dosya menüsünden veya Giriş şeridinden erişebileceğiniz yeni bir Ayarlar iletişim kutusu eklendi.
- Olaylar ve özel durum ayarları iletişim kutusu eklendi. Bu menü, hata ayıklayıcının olayları ve özel durumları işleme biçimini, komutların
sxveya WinDbg'nin olay filtreleri iletişim kutusunun eşdeğerini değiştirir. Giriş şeridinde Ayarlar'ı seçin. Ardından soldaki menüde Olaylar ve Özel Durumlar'ı seçerek olayları ve özel durumları yönetin. - TTD dizin oluşturucu daha iyi performansla geliştirildi. Bu geliştirme TTD izleme dosyalarını dizinleme performansını artırır ve bu da dizin oluşturma işlemini daha hızlı (2 kez ile 10 kat arasında) ve dizin dosyalarını küçültürken (yaklaşık 50% daha küçük) yapar. Performans iyileştirmeleri en çok 4 GB'ın üzerindeki izlemelerde veya çok sayıda CPU çekirdeğine (8+) sahip bir makine kullandığınızda fark edilir. Yeni dizin oluşturucu, büyük izlemelerde hata ayıklamayı daha uygun hale getirir (50 GB+).
- Mimariyi belirtmek için yeni
debugArchbir başlatma bayrağı eklendi. WinDbg Preview, yönetilen kodda hata ayıklamayı daha iyi desteklemek için hedefe uygun bit derinliğiyle hata ayıklayıcı altyapısını başlatmaya çalışır. Doğru bit değeri belirleyemediği veya kararını geçersiz kılmayı seçebileceğiniz durumlar vardır. Hata ayıklayıcı altyapısının mimarisini denetlemek için x86|amd64 kullanın-debugArch.
Diğer değişiklikler ve hata düzeltmeleri
- Kayan pencere açıkken siyah çubukların tam ekran hata ayıklayıcıda görünmesine neden olan bir hata düzeltildi.
- Sembol seçeneklerinin istemeden temizlenmesine neden olan bir hata düzeltildi.
- Son hedeflerden açılırken artık komut geçmişi korunuyor.
- Artık değerleri düzenleyebileceğiniz veri modeli penceresinde düzenleme desteklenir.
- TTD izleri dizine alınmadıkları için daha net hale getirildi.
- Yerel Ayarlar penceresinin performansı iyileştirildi.
- Komut penceresi günlüklerini bir dosyaya kaydetmek için şerit düğmesi eklendi.
- Varsayılan LINQ yöntemleri kümesine eklendi
. SelectMany(\<projection\>).
1.0.1807.11002
Bu sürüm aşağıdaki güncelleştirmeleri içerir:
-
Kesme noktalarını otomatik kaydetme ve yükleme: Bu adım, çalışma alanlarını değiştirmenin ilk adımıdır. Artık kesme noktalarını kaydedebilir ve yükleyebilirsiniz. Daha önce hata ayıkladığınız bir şeyi Dosya menüsündeki Son Kullanılanlar sekmesinden başlatmak artık bu oturumdaki kesme noktalarını yükler. Plan, oturumlar arasında daha fazla bilgi korumak için bu işlevselliği genişletmektir. Donanım kesme noktaları (
ba) ve iş parçacığı ve işleme özgü bağlamlar ve koşullar gibi kesme noktalarındaki diğer çeşitli özellikler şu anda kaydedilmiyor.
Küçük değişiklikler ve hata düzeltmeleri
- Komut satırı seçenekleri olan
-x,-xe,-xd,-xnve-xieklenerek özel durumların ve olayların işlenmesi denetlendi. Bu komut satırı seçenekleri, komutlarla aynı şekilde işlev görür. - Notlar penceresinde kalın, altı çizili ve italik biçimlendirme desteği eklendi.
- Bazı yakınlaştırma ve kaydırma sorunları düzeltildi.
- Komut, Bellek, Kaynak veya Ayrıştırma pencerelerinde metin seçildiğinde seçili metnin diğer örneklerinin vurgulanması için destek eklendi.
- Simge yüklemesini kesintiye uğratmanın, oturumun geri kalanında sembol yüklemesinin başarısız olmasına neden olduğu bir hata düzeltildi.
- Oturum yeniden başlatıldığında NatVis'in düzgün şekilde yeniden yüklenmesine neden olan bir hata düzeltildi.
1.0.1805.17002
Bu sürüm aşağıdaki güncelleştirmeleri içerir:
Yeni Ayrıştırma penceresi: Pencere artık şunları içerir:
- Yukarı veya aşağı kaydırma artık mümkün olduğunda sürekli olarak daha fazla ayrıştırma yükler.
- Vurgulama, sayıların, kod adreslerinin ve işlem kodlarının söz dizimlerini tanımlamak için kullanılır.
- Bir kod simgesi seçildiğinde , Ayrıştırma penceresi bu konuma atlar.
- Sayıların üzerine gelindiğinde, bu sayıyı diğer tabanlara dönüştüren bir araç ipucu gösterilir.
- Başlıkların kullanılması bir işlevin başlangıcını gösterir.
Daha Hızlı Kaynak penceresi: Kaynak penceresi daha hızlı ve daha verimli kaynak olacak şekilde güncelleştirildi.
Küçük değişiklikler ve hata düzeltmeleri
- Sembol önbelleğe alma ile ilgili sorunlar düzeltildi.
- Hedef kırılmadığı durumlarda başlangıç kesmesini değiştirme seçeneğinin kullanılamadığı bazı durumlar giderildi.
- Komut penceresinde kullanılabilir hiçbir şey olmadan bir sekme seçerseniz imleç artık giriş alanında kalacak şekilde destek eklendi.
- WinDbg Preview'ın CAB dosyalarını açtığında bit durumunu otomatik olarak algılaması için destek eklendi.
1.0.1804.18003
Bu sürüm aşağıdaki güncelleştirmeleri içerir:
Sembol durumu ve iptal iyileştirmeleri: Hata ayıklayıcının MEŞGUL yükleme sembollerini görüntülediği zamanlar vardır ve gürültülü etkin olmadan
!symne yaptığını ve neden yaptığını belirlemek zordur. WinDbg Preview'ı, sorunları gidermeye yardımcı olmak için sembolleri yüklerken yaptıklarıyla ilgili daha iyi iletişim sağlayacak şekilde güncelleştirdik.Neler olduğunu görmenize olanak sağlayan değişikliklere ek olarak, sembolleri iptal etme işlemini daha güvenilir hale getiren bazı değişiklikler de yaptık. Günlükler penceresi, normalde gürültü modu etkinleştirildiğinde çıkarılan bazı ayrıntıları içerir. Günlükleri> seçerseniz, açmak ve simgeleri yeniden yüklemeye çalışmak zorunda kalmadan tam gürültülü sembol yükleme çıkışını alırsınız.
Deneysel Notlar penceresi: WinDbg Preview artık not almak için bir pencere içeriyor. Görüntüle> öğesine Notları açmak için tıklayın. Kopyalayıp yapıştırırsanız, DML bağlantıları korunur ve komut penceresi gibi çalışmaya devam eder. Ayrıca, pencere açıkken Notlar şeridinden not dosyalarını kaydedebilir ve yükleyebilirsiniz.
Deneysel daha hızlı Kaynak penceresi: WinDbg Preview performansını geliştirmeye yardımcı olmak için deneysel yeni bir Kaynak penceresi daha verimlidir. Bağlam menüleri ve söz dizimi vurgulamayla ilgili birkaç boşluk vardır, ancak erken geri bildirimde bulunmak için bitirmeden önce herkese deneme seçeneği sunmak istiyoruz. Kullanmak için komutunu çalıştırın
$UseFastSourceWindow. Eskisine dönmek istiyorsanız komutunu çalıştırın$UseMonacoSourceWindow. Ayar oturumlar arasında korunur. Yeni sürümü edinmek için Kaynak pencereleri kapatıp yeniden açmanız gerekir.JSProvider API sürüm 1.2: API sürüm 1.2 için destek bildiren JavaScript uzantıları için:
- Betikten çıkış yapan bir yöntemi olan herhangi bir
.compareTonesne üzerinde özel bir karşılaştırıcı vardır. (Karşılaştırma işleçleri DX değerlendiricisinde ve başka bir yerde çalışır. Örnek olarakIModelObject::Compare.) - Betikten çıkmak için bir
.equalsyöntemi bulunan herhangi bir nesne üzerinde özel bir eşitlik işleci bulunmaktadır. Bu==ve!=işleçleri DX değerlendiricisinde ve başka yerlerde çalışır. Örnek olarakIModelObject::IsEqualTo. - Betiğe giren yerel veya veri modeli nesneleri, üzerlerinde bulunan
.compareTove.equalsile herhangi bir özel karşılaştırıcıya veya özel eşitlik uygulamalarına erişim sağlar.
- Betikten çıkış yapan bir yöntemi olan herhangi bir
Küçük değişiklikler ve hata düzeltmeleri
- Kısa adlarla ilgili etki alanı sorunları olduğunda daha kolay kullanım sağlamak amacıyla, artık
.serveriçin tam etki alanı adını listeleme desteği eklendi. - Ctrl+G tuşlarının artık Kaynak penceresinde çalışması için destek eklendi.
- Ayrıştırma penceresine bir adres çubuğu eklendi.
- WinDbg Preview'ın artık daha beklenen bir şekilde işlemesi
_NT_SYMBOL_PATHiçin destek eklendi. -
-serverKomut satırı seçeneği eklendi. - TTD veri modeli sorgularının artık aşamalı olarak görüntülenmesi için destek eklendi. Süreci kesintiye uğratsanız bile yine de bazı sonuçları görebilirsiniz. Bu özellik deneysel ve isteğe bağlıdır. etkinleştirmek için
dx @$cursession.TTD.AsyncQueryEnabled = 1çalıştırın. - Komutun
dpsbaşvurduğu kaynak dosyalara artık bağlantılar olabilmesi için destek eklendi.
1.1801.19001.0
Bu sürüm aşağıdaki güncelleştirmeleri içerir:
- Metin vurgulama: Artık seçili metnin tüm örneklerini doğrudan hata ayıklayıcıda vurgulayabilirsiniz. Bu özelliği kullanmak için Komut penceresinde bir metin seçin ve ardından Komut şeridinde Vurgula'yı seçin. Ctrl+Alt+H tuşlarını da seçebilirsiniz. Bu seçeneklerden birini zaten vurgulanmış metinde kullanırsanız, vurgulama kaldırılır.
Komutları kullanmayı tercih ediyorsanız komutunu kullanabilirsiniz $hl :
$hl ["someValueHere"]: Vurgu metin verir (veya zaten vurgulanmışsa vurgulamanın işaretini kaldırın).
$hl clearAll: Vurgulanan tüm girişleri temizleyin.
$hl caseSensitive [1|0]: Vurgulama eşleştirmesini büyük/küçük harfe duyarlı veya duyarsız olacak şekilde ayarlayın. (Varsayılan, büyük/küçük harfe duyarsızdır.)
Bu sürüm bazı küçük hata düzeltmelerini de içerir.
1.1712.15003.0
Bu sürüm aşağıdaki güncelleştirmeleri içerir:
TTD bellek sorguları: Artık bellek erişimleri için TTD'yi bugünkü çağrıları sorgulama yönteminize benzer şekilde sorgulayabilirsiniz. Artık belirli bir bellek aralığına erişen tüm okuma, yazma ve yürütmeleri bulabilirsiniz.
-
Okuma ve yazma örneği:
dx @$cursession.TTD.Memory(startAddress, endAddress, "rw") -
Benzersiz yürütme örneği:
dx @$cursession.TTD.Memory(startAddress, endAddress, "ec")
-
Okuma ve yazma örneği:
Ayarlar değişir: WinDbg Preview artık simge yolunuz ve kaynak yolunuz da dahil olmak üzere oturumlar arasında ayarları otomatik olarak kaydeder.
JavaScript geliştirmeleri
- JavaScript'teki 64 bit sayılar ve sayısallar artık gerçek bir 64 bit modulo işlemine izin veren bir modulo yöntemi içeriyor.
- JavaScript'te tanımlanan nesneler artık özel bir karşılaştırılabilir veya eşitlikçi bir kavramı uygulayabilir. standart C++ işleçlerini kullanarak veya LINQ işlemlerinde çalışır
dx. Bu işlevi kullanmak için, betiğininitializeScriptdizide bir kayıtnew host.apiVersionSupport(1, 2)ekleyerek konak API'sinin yeni sürümünü desteklediğini bildirmesi gerekir. Daha sonra, bu işlevleri herhangi birdxveya Veri Modeli Penceresi LINQ sorgusunda kullanabilirsiniz. Eğer yöntem.compareTo(other)uygularsa, karşılaştırılabilir (karşılaştırma işleçleridxve LINQ içinde çalışır). Yöntem negatif bir değer döndürürse, ardındanthis < other. Eğer metot sıfır döndürürse, o zamanthis == other. Yöntem pozitif bir değer döndürürse, sonrathis > other. Eğer yöntem.equals(other)'yi uygularsa, eşit olur (==dxve LINQ'ta çalışır). yöntemi true veya false döndürmelidir.
Küçük değişiklikler ve hata düzeltmeleri
- Stack ve Locals pencerelerinin önyükleme hata ayıklaması sırasında çalışmadığı bir hata düzeltildi.
- LM'nin çıktısını
ProductVersionve benzer alanların daha doğru raporlanması için güncelledik. - TTD oturumları sırasında Adım Geri Çık düğmesi etkinleştirildi.
-
-lsrcpathdesteği eklendi. - Locals, Watch ve Model pencerelerindeki üst bilgiler, aşağı kaydırdığınızda kaybolmamaları için düzeltildi.
- WinDbg Preview'a geri dönmek için Alt+Sekme tuşlarını kullandığınızda Komut penceresinin imleç konumunu düzgün şekilde koruması için destek eklendi.
- Ayrıntılı modu açıp kapatmak için Ctrl+Alt+V kısayolu eklendi.
- Artık Komut sekmesini seçip tutarak (veya sağ tıklayarak) ve Otomatik kaydırmayı kapat öğesini seçerek Komut penceresinin otomatik kaydırmasını devre dışı bırakabilirsiniz.
- Artık başlatılabilir yürütülebilir gelişmiş sayfası aracılığıyla alt işlemlerin hatalarını ayıklayabileceğiniz destek eklendi.
1.0.14.0
Bu sürüm aşağıdaki güncelleştirmeleri içerir:
- geliştirilmiş işlem sunucusu deneyimi: Dosya menüsündeki yeni bir bildirim, hangi işlem sunucusuna bağlandığınızı ve etkileşimde olduğunuzu gösterir. Bu değişikliklerin bir parçası olarak, hata ayıklama oturumu sona erdiğinde işlem sunucusu bağlantısı devam eder ve Dosya menüsünde bağlantıyı kesebilirsiniz.
- Görünüm şeridinde yeni hazır düzen seçenekleri: Yeni Düzen seçeneği Görünüm şeridinde bulunur. Şu anda üç düzen vardır: varsayılan, biri ayrıştırma odaklı ve en azı.
- Zaman Yolculuğu Hata Ayıklama Şeridi: TTD izlemesinde hata ayıkladığınızda, geliştirilmiş bir Zaman Yolculuğu şeridi görüntülenir.
-
JavaScript betiklerinden meta veriler: JavaScript uzantıları artık özellikler ve diğer yapılar için meta veriler döndürebilir. Uzantı artık yardım dizeleri sağlayabilir, değerler için görüntüleme tabanını belirtebilir ve başka işlevlere sahip olabilir. Meta veriler, ya
Symbol.metadataDescriptorvarlığı yoluyla ya dahost.metadata.defineMetadata'e açık bir çağrı yapılarak bir nesneye meta veri tanımlayıcısı yerleştirilerek sağlanır. Fonksiyon dönüşleri, yinelemeli değerler ve diğer değer bağlamları, değerleri içinhost.metadata.valueWithMetadataaracılığıyla meta veriler döndürebilir. -
JavaScript API güncelleştirmeleri: JavaScript sağlayıcısındaki API'lerde kaynak düzeyinde hataya neden olabilecek bazı değişiklikler yapıldı (yerel nesnelerdeki yeni öngörülen yöntemler ve özellikler dahil). Mevcut uzantılar, JsProvider API'sinin yeni sürümünü desteklediğini göstermeden hataya neden olabilecek değişikliklerin hiçbirini görmez. Yeni API sürümünün desteklendiği,
host.apiVersionSupporttarafından döndürülen diziye, sürüm 1.1'i destekleme talebiyle birinitializeScriptkaydının yerleştirilmesi ile belirtilir.
API sürüm 1.1'deki değişiklikler
-
host.getModuleSymbolvehost.getModuleTypeişlevleri bir özel durum fırlatmak yerine simgeyi bulamadıklarında null döndürür. - Tüm yerel nesnelerde
.targetLocation'e ek olarak bir address özelliği vardır. Nesnenin adresi yoksa, özelliğe erişmeye çalışıldığında bir istisna fırlatılır. - Tüm yerel nesnelerin nesnedeki özelliklere erişmek için üzerinde yeni
.getObjectValueve.setObjectValueyöntemleri vardır. Bu yöntemler, JavaScript'in nesneye yerleştirdiği adlarla çakışabilir (örneğin,address).
Diğer JavaScript değişiklikleri
- JavaScript uzantıları,
Object.definePropertyve delete işleci aracılığıyla veri modeli nesnelerine artık özellik ekleyebilir ve kaldırabilir. JavaScript sınıfını üst model veya tür imzası olarak eklemek veya kaydetmek, nesne modelini düzenlemenin tercih edilen yoludur. - JavaScript uzantıları artık yeni
host.setModuleSymbolbir API aracılığıyla hata ayıklama hedefindeki modüllerdeki genel değişkenleri değiştirebilir. - 64 bit kitaplık türündeki tüm matematik işlevleri (örneğin,
.add,.subtract,.multiplyve.divide) JavaScript sayılarında da bulunur. - JavaScript işlevleri ve özellikleri artık özel marshaling aracılığıyla enum değerleri döndürebilir. Bir işlev veya özellik erişimcisi, bu tür özel düzenlemeyi çağırmak için
host.typeSystem.marshalAs(value, type…)döndürebilir. - Betik hata ayıklayıcısındaki kesme noktası komutu artık satır/sütun konumlarına ek olarak işlev adlarında da kesilebilir.
- JavaScript uzantılarındaki tür nesneleri,
.containingModuleözelliği aracılığıyla kendi modüllerine erişim sağlar.
Küçük değişiklikler ve hata düzeltmeleri
- Şerit sekmelerinin koşullu biçimlendirmesi daha az kafa karıştırıcı olacak şekilde düzeltildi.
- Performansı geliştirmek için DML ayrıştırmada daha katı olacak şekilde yeniden çalışıldı.
- Ctrl+F'nin performansı ve davranışıyla çeşitli düzeltmeler yapıldı.
- TTD'yi kullanmaya çalışmadan önce, yükseltilmiş izinler olmadan çalıştırıldığında bir uyarı eklendi.
- Otomatik hedef bitlik algılamasını geçersiz kılma seçeneği eklendi.
- Kullanılamadığında çeşitli Dosya menüsü ve şerit seçenekleri devre dışı bırakılır (döküm dosyasında Git olduğunda gibi).
Bilinen sorunlar
SOS, x86 izlemelerinde çalışmaz.
1.0.13.0
Bu sürüm, zaman yolculuğu izlemeyi ekler. Zaman Yolculuğu Hata Ayıklama ile bir işlemi kaydedebilir ve daha sonra hem ileri hem de geri oynatabilirsiniz. TTD, hatayı bulana kadar sorunu yeniden oluşturmak zorunda kalmadan hata ayıklayıcı oturumunuzu "geri sarmanıza" izin vererek sorunları daha kolay ayıklamanıza yardımcı olabilir. Daha fazla bilgi için bkz. Zaman Yolculuğu Hata Ayıklama: Genel Bakış.
1.0.12.0
Bu sürüm, WinDbg Preview'ın ilk sürümüdür. WinDbg Preview'da kullanılabilen özellikler hakkında genel bilgi için bkz. WinDbg'nin başlıca özellikleri.