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ü:pid=<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
SeçenekTanım
/pEkran 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.
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 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.

windbgx-command-highlighting.png


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.
  • Beğen
İfadeler: 283156 ve Enes3078
Güncelleme eklendi.
  • Beğen
İfadeler: 283156 ve Enes3078
Geri
Yukarı