Yeni Özellikler
Komut Penceresi IntelliSense
Komut giriş istemi, ilk girilen karakter . (nokta), ! (bang) veya $ (dolar işareti) olduğunda önerilen tamamlamaları otomatik olarak gösterecektir. Öneriler ayrıca Ctrl + Boşluk komut kısayoluyla da çağrılabilir.
Anlık görüntü hata ayıklama
Canlı işlemleri yerel olarak hata ayıklarken, hata ayıklayıcı işlemin anlık görüntülerini alabilir ve "Uzantılar" sekmesindeki simgeler aracılığıyla anlık görüntüler ile canlı işlem arasında geçiş yapabilir. Benzer şekilde, hata ayıklayıcı bir işlemin anlık görüntüsüne, "Uzak hata ayıklayıcıya bağlan"daki anlık görüntüid=<işlem pid'i onaltılık değerde> protokol dizesi aracılığıyla askıya almadan bağlanabilir.
Yeni veri modeli API'leri
Debugger.Utility.Symbols.GetTypeInformation
Geçirilen herhangi bir nesneyle ilişkili tür bilgilerini döndürür. Herhangi bir işaretçinin (veya başvurunun) altındaki türü gerçekten istiyorsanız işaretçilerin otomatik olarak başvurudan çıkarılmasına (bir düzey) izin veren isteğe bağlı bir bağımsız değişken vardır.
Debugger.Utility.Control.CreateStepFilter(<Type>, <Pattern>)
Yeni bir adım filtresi oluşturur. Bu, tüm kesme noktası oluşturma API'lerinin yanındaki bu ad alanındadır.
Debugger.State.StepFilters
Id, Description, Type, Pattern ve IsEnabled özelliklerine sahip adım filtrelerinin listesini döndürür. Adım filtresi nesnelerinde bir .Remove() yöntemi vardır.
clrcomposition.dll olmadan geliştirilmiş CLR hata ayıklama deneyimi
Yeniden dağıtılabilir bileşen dbgeng.dll artık clrcomposition.dll'nin mevcut olmasına gerek kalmadan CLR çerçeveleri için geliştirilmiş yığın yürüyüş desteğine sahip.
Rastgele iyileştirmeler
Linux çekirdek hata ayıklaması için daha iyi destek (özellikle 6.11+ çekirdekler için).
ZSTD sıkıştırılmış KDUMP sayfaları için destek.
Hata düzeltmeleri
SOS'u 9.0.557512 sürümüne güncelleyin.
msdia140.dll yüklenirken iptal edilen imzaları kontrol etmede yaşanan performans gerilemesi düzeltildi.
XSTATE bağlamı okunurken oluşan çökme düzeltildi.
Etkinleştirilmiş kesme noktasından ayırt etmek için Sökme Penceresinde devre dışı bırakılan kesme noktası vurgulaması düzeltildi.
Kayan bir araç penceresi kapatılırken oluşan çökme düzeltildi.
Son bir izleme açıldıktan sonra bazen Zaman Çizelgeleri penceresinin geçerli konumunun doldurulmadığı bir sorun düzeltildi.
Sökme ve Bellek pencerelerinde bazen yeni bir değer girildikten sonra güncellenmeyen bir sorun düzeltildi.
Koyu temada başlık çubuğu renk şeması düzeltildi.
Breakpoints penceresinde, Location'ın orijinal olarak oluşturulduğunda girilen ifade yerine 0x0 gösterdiği ertelenmiş kesme noktalarının sunumu düzeltildi. Ayrıca, bağlı olmadığını belirten belirgin bir simgesi var.
Locals/Watch'ta görünür bir öğeye sağ tıklandığında görünümün yukarı kaydırılmasına neden olan bir sorun düzeltildi.
natvis ile ilgili sorunlar düzeltildi, orijinal hata raporuna bakın.
kd hata ayıklayıcı spam'i, bağlantı noktası bağlayıcı bilgileri alınırken hata mesajıyla düzeltildi, orijinal hata raporuna bakın.
gc'nin koşul yanlış olduğunda koşullu kesme noktalarını tetiklemesiyle ilgili bir sorun düzeltildi.
YMM ve ZMM kayıtları artık bir TTD izini hata ayıklarken görüntülenebilir.
Erişilebilirlik Düzeltmeleri
Locals, Watch ve Breakpoints pencereleri için klavye gezintisi iyileştirildi.
Ribbon, Locals, Watch ve Breakpoints pencerelerinin görsel okunabilirliği iyileştirildi. Yereller, İzleme ve Kesme Noktaları pencerelerinin ekran okuyucu kullanılabilirliği iyileştirildi
Yereller, İzleme, Kesme Noktaları'ndaki öğelerin düzenlenmesi, mümkün olduğunda önceki klavye odağını, seçimini ve kaydırmasını koruyacaktır.
Windows Metin Ölçekleme için genel destek iyileştirildi.
Genel Kullanıcı Arayüzü İyileştirmeleri
Komut giriş metin kutusu ile komut çıkış bölmesi arasında odak noktasını değiştirmek için Toggle Mark modu (komut istemi gibi) eklendi. Kısayol Ctrl + M'dir.
Kesme Noktaları penceresine Git Sökmeye Bağlam Menü öğesi eklendi.
Sökmeye Çalıştır, Talimat İşaretçisini Ayarla, Kaynağa Git, Kesme Noktasını Değiştir, Kesme Noktası durumunu Değiştir için kesme penceresine bağlam menüsü eklendi.
Zaman Yolculuğu Hata Ayıklama (TTD)
Sürüm 1.11.481'e güncellendi.
TTD Sürüm Notlarına bakın.
WinDbgX'i kaldırmanın klasik WinDbg'nin başlatılmasını engellediği sorun düzeltildi.
WinDbgX'in başlatma sırasında göründükten sonra yeniden boyutlandırıldığı sorun düzeltildi.
Yeni özellikler
Canlı Linux hata ayıklama
Artık bir Linux işlemini canlı olarak hata ayıklayabilirsiniz. Daha fazla bilgi için şu konulara bakın:
Linux canlı uzaktan işlem hata ayıklama
Linux sembolleri ve kaynakları
Önümüzdeki gelecekte WinDbg istemcisinin hala Windows'a ihtiyacı olacak, çünkü WinDbg Linux'ta çalışmıyor.
Zaman Yolculuğu Hata Ayıklama ile yürütmenin bir alt kümesini kaydedin
Artık TTD'yi önemsediğiniz modüllere odaklamak için kaydedilecek modüllerin bir listesini belirtebilirsiniz. Bu, kayıt yükünü önemli ölçüde azaltabilir. Bunu kullanmak için "Yapılandır ve Kaydet" iletişim kutusunda "Yürütmenin alt kümesini kaydet" seçeneğini işaretleyin, ardından kaydedilmesini istediğiniz modülü/modülleri belirtin. ( aşağıdaki bilinen sorunlara bakın ).
Daha ince bir kontrol için, yeni bir işlem içi kayıt API'sini kullanarak programınızı hassas bir şekilde kaydedebilirsiniz. Örnek kodumuz ve dokümantasyonumuzla nasıl olduğunu görün .
Kompakt kayıt penceresi
Yeni kayıt penceresi, komutun çıktısına benzer r. Yeni kayıt penceresinden düzenlemenin henüz desteklenmediğini unutmayın.
eBellek komutlarına (Değerleri Girin) için yeni parametreler
eBelleğe (Değerleri Girin) komutları artık tıpkı (Belleği Görüntüle) komutları gibi fiziksel adresleri desteklemektedir d. Bu seçeneklerin yalnızca çekirdek modunda desteklendiğini unutmayın:
Tabloyu genişlet
Daha fazla bilgi için bkz. e, ea, eb, ed, eD, ef, ep, eq, eu, ew, eza (Değerleri Girin) .
Seçenek Tanım /p Ekran için fiziksel bellek adreslerini kullanır. Range tarafından belirtilen aralık, sanal bellek yerine fiziksel bellekten alınacaktır. /p[c] /pÖnbelleğe alınmış belleğin okunması dışında ile aynıdır . c etrafındaki parantezler dahil edilmelidir. /p[uc] /pÖnbelleğe alınmamış belleğin okunması dışında ile aynıdır . Uc etrafındaki parantezler dahil edilmelidir. /p[wc] /pYazma-birleşik belleğin okunması dışında ile aynı . WC etrafındaki braketler dahil edilmelidir.
Hata düzeltmeleri
- Linux hata ayıklamasında Rust adı düzeltme desteği
- CLR hata ayıklamada iyileştirmeler
- Karma mod yığınının CLR çerçevelerini yürütmesini zorlama yeteneğini ekleyin
- Eklenen ForceMixedModeStackWalkerayar eklendi config.xmlveya DbgX.xml.
- !forceclrmixedmodeunwindTek seferlik incelemeler için veya yapılandırma ayarını değiştiremiyorsanız komut eklendi .
- Linux'ta CLR hata ayıklamanın genel iyileştirmeleri
- LinuxKernel.js ve CPU başına değişkenlerle ilgili bir dizi sorunu düzeltin
- !runqCPU başına çekirdek zamanlayıcı çalıştırma kuyruklarının dökümünü alabilmek için LinuxKernel.js'ye komut eklendi (Linux kilitlenme yardımcı programının runqkomutuna benzer biçimde)
- LinuxKernel.js'deki çeşitli komutlar, çekirdek değişikliklerine karşılık gelecek şekilde düzeltildi: daha yeni çekirdeklerde, zamanlayıcı ağacı, ham RB düğümleri yerine önbelleğe alınmış RB düğümlerini kullanır; daha yeni çekirdeklerde all_bdevs listesi gitti, bu nedenle blok aygıtları artık bunun yerine süper bloktan yürütülüyor (blockdev_superblock)
- Daha çok Visual Studio'nun son sürümleri gibi çalışacak çeşitli natvis düzeltmeleri
- Sourcelink'i eski sourceinfo'ya tercih edin
- !lmsourcesinfo <module>Pdb'den kaynak bağlantısı akışlarını görüntülemek için komut eklendi (kaynak bağlantısıyla ilgili hata ayıklama sorunlarına yardımcı olmak için).
Bilinen Sorunlar
TTD ile kaydedilecek modüllerin listesini belirtirken birden fazla modülün belirtilmesi bu sürümde çalışmaz.
- Akıllı numara araması ve seçimi.
- Veri örneği iyileştirmeleri.
- Javascript genişletilebilirlik geliştirmeleri
- Erişilebilirlik iyileştirmeleri.
Normal ifade araması
WinDbgNext araması artık normal ifadeler - Regex kullanarak arama yapma seçeneğini içeriyor. Ctrl+F yaparak aramak istediğiniz pencerede Regex'i etkinleştirin, ardından arama kutusunun yanındaki.*
etiketli düğmeyi değiştirin.
Kısıtlı Mod
Kısıtlı Mod, WinDbg Preview'un yalnızca uzaktan hata ayıklama oturumlarına başlayıp dosyaları döküme başlatabileceği hata ayıklama oturumlarının türünü sınırlandırabilen isteğe bağlı bir ayardır.
Gölgeli değişken desteği
Geçmiş sürümlerde WinDbg, (??) veya adını kapsamdaki başka bir değişkenle paylaşan bir değişkeni (dx) görüntülemeye çalışırken "Belirsiz Sembol" hataları verebiliyordu. Windbg artık değişken adına @n ekleyerek aynı adı paylaşan değişkenleri belirsiz hale getirecektir. Örneğin: foo@0, foo@1
Bu değişiklik Locals penceresine de yansıtılacaktır. Daha önce, yalnızca kapsamdaki en yakın değişken görüntülenirdi.
Akıllı numara seçimi ve arama
WinDbgNext'in kullanışlı bir üretkenlik özelliği, komut penceresindeki kalıpları algılama yeteneğidir. Bunu yapmak için, herhangi bir metni ve o metnin vurgulanan diğer tüm örneklerini seçin. Bu vurgulama bellek modellerine bakarken yararlı olduğu için, sayı onaltılık, ondalık veya bilimsel gösterimle nasıl biçimlendirilirse biçimlendirilsin artık diğer tabandaki eşdeğer sayıları da vurgulayacaktır.
Örnek:
0x000001e2fb3f6160 seçildiğinde, biçimi ne olursa olsun diğer tüm örnekler vurgulanır.
![]()
Bu özellik, yarı geçici vurgularla da çalışır. Ctrl + Tüm örneklerini vurgulamak için bir sayıya çift tıklayın. Bu yolla komut geçmişiniz boyunca birden fazla önemli sayıyı takip edebilirsiniz (vurguyu temizlemek için Ctrl + Çift Tıklama numarasına tekrar tıklayın). Son olarak, bu özellik Ctrl + F ile sayı ararken de çalışır.
Kaynak Kodu Geniş Erişim
Kaynak yolu komutu (.srcpath, .lsrcpath (Set Source Path))[-srcpath---lsrcpath--set-source-path-.md] DebugInfoD adlı yeni bir etiket içerecek şekilde güncellendi.
Veri modelinde WOW işlemlerinin ev sahibi ve konuk durumları
64 bitlik bir bağlamdan 32 bitlik bir WOW işleminde hata ayıklarken, kullanıcılar artık veri modeli içindeki hem ana bilgisayar hem de konuk durumlarına erişebilir.
32 bit konuk durumu örnekleri:
dx @$curprocess.Environment
dx @$curthread.Environment
dx @$curthread.Stack
64 bit ana bilgisayar durumu örnekleri:
dx @$curprocess.NativeEnvironment
dx @$curthread.NativeEnvironment
dx @$curthread.NativeStack
Javascript Hata Ayıklama İyileştirmeleri
Kullanıcı arayüzüne yüklenen Javascript, artık .scriptdebug komutu kullanılarak doğrudan konsolda hata ayıklanabilir.
Erişim iyileştirmeleri
- Komut penceresi bağlantıları artık klavye aracılığıyla tıklanabilir. (Shift + Enter)
- Ana menüde iyileştirilmiş klavye gezintisi.
- Şeritte iyileştirilmiş klavye gezintisi.
- UI öğelerinde artan kontrast.
Diğer düzeltmeler, iyileştirmeler ve güncellemeler
- Hem çekirdek hata ayıklama ana bilgisayarı hem de hedef USB 3.1 denetleyicileri olduğunda, USB 3.1 donanım sorununu otomatik olarak algılamak ve uygulamak için özellik eklendi.
- Yeni bir kullanıcı arayüzü kısayolu eklendi: Ctrl + Shift + Bir DML bağlantısının üzerine tıklayın, onu panoya kopyalayın.
Bu sitenin çalışmasını sağlamak için gerekli çerezleri ve deneyiminizi iyileştirmek için isteğe bağlı çerezleri kullanıyoruz.