!dpx komutu, Andrew Richards'ın PDE (Prototype Debugger Extension) eklentisinde mevcut. Aşağıdaki OneDrive arşivinden indirebilirsin, PDE v11.3 yazan dosya.
!stack komutları, CodeMachine'in CMKD (CodeMachine Kernel Debugger Extension DLL) eklentisinde mevcut.
CodeMachine Debugger Extension DLL
awesome-windbg-extensions reposunda MEX, SwishDbgExt, Iris, DbgKit gibi birçok farklı eklenti bulunuyor, buradan ihtiyacına göre eklentiler indirebilirsin.
Peki bu eklentiler nasıl kuruluyor?
Normalde WinDbg,
Windows SDK'i ile kurulduğunda
C:\Program Files (x86)\Windows Kits\10\Debuggers dizininde bulunur. Eklentiler
C:\Program Files (x86)\Windows Kits\10\Debuggers\x64 dizinine atılır. Eklenti 32 bit ise
C:\Program Files (x86)\Windows Kits\10\Debuggers\x86 dizinine atılır. Buna classic WinDbg deniyor.
Açıkcası Windows Store üzerinden kurulan WinDbg üzerine hiç eklenti kurmadım. Ama
.extpath komutunu çalıştırıp çıkan dizine bu eklentileri atarak aynı şekilde kullanılabilir. Windows Store uygulama dosyalarını düzenlemek için klasörün sahipliğini almanız gerekebilir.
Kurduğum eklentiyi nasıl kullanacağım?
Eklentileri attıktan sonra WinDbg'ı açıp
!load <DLL adı> şeklinde komut yazarak eklentiyi yüklemen gerekir. Eklentiyi yüklemeden eklenti komutları çalışmaz. Ek olarak
!load cmkd; !stack -p yazarak hem CMKD eklentisini yükleyip hem de istediğin komutunu tek satırda çalıştırabilirsin, bu komut değiştirilebilir.
WinDbg'a yeni bir dizin yolu eklemek, eklentilerin otomatik olarak yüklenmesi gibi imkanlar mevcut ama bu mesajı uzatmamak adına eklemiyorum. Microsoft dökümanını inceleyebilirsiniz.
Loading Debugger Extension DLLs
learn.microsoft.com