English / 日本語
WinDbg コマンド拡張 & UI 拡張機能サンプル。
- regstr コマンド拡張: レジスタの値が ASCII 文字列として解釈可能な場合にその文字列も表示
- RegStr UI 拡張: 実行状態に合わせて RegStr ツールウィンドウ上にレジスタ値と文字列を表示
- Command Viewer UI 拡張: ステップ実行毎に更新されるコマンド実行ウィンドウ。履歴保持、コマンド出力差分の強調
- Windows 11
- WinDbg 1.2601.12001.0
- Windows SDK 10.0.26100.7627
- Visual Studio 2026 18.3.2
注) x64 アプリケーションのデバッグのみ対応しています。
注) regstr_c.dll, regstr_cpp.dll, regstr_cpp2.dll, regstr_rs.dll は実装方法が異なるだけで機能はすべて同じです。使用する場合はいずれか一つだけ使用してください。
- Releases ページからビルド済み zip をダウンロードおよび解凍
- WinDbg を起動し、適当な x64 アプリケーションをデバッグ、
.load <DLL の絶対パス>で DLL を読み込む。DLL はregstr_*.dllのいずれか !regstrコマンドが使用できることを確認
起動時に自動で読み込ませたい場合、UserExtensions フォルダを丸ごと %LOCALAPPDATA%\DBG\ にコピーしてください。
注) UI 拡張は上記に記載した WinDbg バージョン以外での動作は保証できません。
RegStr:
注) x64 アプリケーションのデバッグのみ対応しています。
- Releases ページからビルド済み zip をダウンロードおよび解凍
%LOCALAPPDATA%\DBGフォルダ内にUIExtensionsフォルダを作成し、その中にRegStr.dllを入れる- WinDbg を起動すると
Register stringタブが増えているので、その中にあるRegister stringボタンをクリックするとRegStrウィンドウが出現する - 適当な x64 アプリケーションをデバッグすると
RegStrウィンドウにレジスタの情報が表示される
Command Viewer:
- Releases ページからビルド済み zip をダウンロードおよび解凍
%LOCALAPPDATA%\DBGフォルダ内にUIExtensionsフォルダを作成し、その中にCommandViewer.dllとDiffPlex.dllを入れる- WinDbg を起動すると
ViewタブにCommand viewerボタンが追加されているため、それをクリックするとCommand Viewerウィンドウが出現する - 適当なアプリケーションをデバッグし、適当なコマンドを上部のテキストボックスに入力すると、コマンド出力が表示される
c のビルド:
c\regstr.slnxを Visual Studio で開く%PROGRAMFILES(X86)%\Windows Kits\<バージョン>\Debuggers\incに入っている engextcpp.cpp および engextcpp.hpp をコピーし、コンパイルできるように修正- ビルド (
regstr_c.dll,regstr_cpp.dll,regstr_cpp2.dllがビルドされます)
rust のビルド:
- コマンド拡張:
rustフォルダでcargo build --releaseを実行 (regstr_rs.dllがビルドされます)
RegStr のビルド:
ui\RegStr\RegStr.slnxを Visual Studio で開く- ビルド (
RegStr.dllがビルドされます)
CommandViewer のビルド:
ui\CommandViewer\CommandViewer.slnxを Visual Studio で開く- ビルド (
CommandViewer.dllがビルドされます)
実装の詳細については我々のブログ記事 WinDbg 拡張機能の作り方 1 ~ コマンド拡張編, 2 (後ほど公開), 3 (後ほど公開) をご覧ください。


