windbg-scripts
windbg-scripts
is a collection of JavaScript debugger extensions for WinDbg.
- basics: various examples of basic usage of various APIs,
- parse_eh_win64: example of extending the data-model with exception handling related information (cf Debugger data model, Javascript & x64 exception handling),
- telescope: telescope like command for WinDbg,
- sm: pretty-printing of Spidermonkey
js::Value
andJSObject
objects, - codecov: extract code-coverage out of a TTD trace,
- policybuffer: disassemble a Chrome policy buffer program,
- gdt: dump the Global Descriptor Table.
Installing the script gallery
If you would like to have telescope
and sm
loaded every time your debugger starts instead of loading the extensions manually follow the below steps:
-
Clone this GitHub repository,
-
Edit the
Manifest\config.xml
file and update theLocalCacheRootFolder
path with a value that makes sense, -
Open the debugger and import the gallery by running
.settings load c:\path\where\cloned\windbg-scripts\Manifest\config.xml
and.settings save
. -
Restart the debugger and you should be able to run
!telescope
as well as inspecting the gallery content from the data-model.0:000> dx -r1 Debugger.State.ExtensionGallery.ExtensionRepositories Debugger.State.ExtensionGallery.ExtensionRepositories [0x0] : overgallery [0x1] : LocalInstalled 0:000> dx -r1 Debugger.State.ExtensionGallery.ExtensionRepositories[0] Debugger.State.ExtensionGallery.ExtensionRepositories[0] : overgallery Name : overgallery ManifestVersion : 0x1 URL Enabled : true Packages 0:000> dx -r1 Debugger.State.ExtensionGallery.ExtensionRepositories[0].Packages Debugger.State.ExtensionGallery.ExtensionRepositories[0].Packages [0x0] : Telescope 0:000> dx -r1 Debugger.State.ExtensionGallery.ExtensionRepositories[0].Packages[0] Debugger.State.ExtensionGallery.ExtensionRepositories[0].Packages[0] : Telescope Name : Telescope Version : 1.0.0.1 Description : Telescope data dereference Size : 0 IsDownloaded : true Components