windbg-scripts
windbg-scripts copied to clipboard
A bunch of JavaScript extensions for WinDbg.
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::ValueandJSObjectobjects, - 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.xmlfile and update theLocalCacheRootFolderpath 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.xmland.settings save. -
Restart the debugger and you should be able to run
!telescopeas 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