English / 日本語
Sample WinDbg command & UI extensions.
- regstr command extension: If a register value can be interpreted as an ASCII string, it also displays that string
- RegStr UI extension: Displays register values and strings in the RegStr tool window according to the execution state
- Command Viewer UI extension: A command execution window that updates on every step. Supports history and highlighting differences in command output
- Windows 11
- WinDbg 1.2601.12001.0
- Windows SDK 10.0.26100.7627
- Visual Studio 2026 18.3.2
Note: Only supports debugging x64 applications.
Note: regstr_c.dll, regstr_cpp.dll, regstr_cpp2.dll, and regstr_rs.dll have different implementations, but all provide the same functionality. If you use them, use only one of them.
- Download and extract the prebuilt zip from the Releases page
- Launch WinDbg, debug any x64 application, and load the DLL with
.load <absolute path to the DLL>. The DLL is one ofregstr_*.dll - Confirm that the
!regstrcommand is available
If you want it to be loaded automatically at startup, copy the entire UserExtensions folder to %LOCALAPPDATA%\DBG\.
Note: Operation is not guaranteed on WinDbg versions other than the one listed above.
RegStr:
Note: Only supports debugging x64 applications.
- Download and extract the prebuilt zip from the Releases page
- Create a
UIExtensionsfolder under%LOCALAPPDATA%\DBG, and placeRegStr.dllinside it - When you start WinDbg, a
Register stringtab will be added. Click theRegister stringbutton inside it to open theRegStrwindow - Debug any x64 application, and register information will be displayed in the
RegStrwindow
Command Viewer:
- Download and extract the prebuilt zip from the Releases page
- Create a
UIExtensionsfolder under%LOCALAPPDATA%\DBG, and placeCommandViewer.dllandDiffPlex.dllinside it - When you start WinDbg, a
Command viewerbutton will be added to theViewtab. Click it to open theCommand Viewerwindow - Debug any application and enter any command into the text box at the top; the command output will be displayed
Building the C version:
- Open
c\regstr.slnxin Visual Studio - Copy
engextcpp.cppandengextcpp.hppfrom%PROGRAMFILES(X86)%\Windows Kits\<version>\Debuggers\inc, and modify them so they can be compiled - Build (this produces
regstr_c.dll,regstr_cpp.dll, andregstr_cpp2.dll)
Building the Rust version:
- Command extension: In the
rustfolder, runcargo build --release(this producesregstr_rs.dll)
Building RegStr:
- Open
ui\RegStr\RegStr.slnxin Visual Studio - Build (this produces
RegStr.dll)
Building Command Viewer:
- Open
ui\CommandViewer\CommandViewer.slnxin Visual Studio - Build (this produces
CommandViewer.dll)
For implementation details, please refer to our blog post How to implement WinDbg extensions (in Japanese) Part 1 - Command Extension, Part 2 (coming soon), Part 3 (coming soon).


