
WinDbg JS API를 가지고 놀기 위한 장난감 스크립트
git clone https://github.com/hugsy/windbg_js_scripts
windbg_js_scripts\config.xml에서 Setting Name="LocalCacheRootFolder" 줄을 편집하여 저장소의 로컬 경로를 반영하세요.
WinDbg에서 config.xml 파일을 로드하고 설정을 저장하세요:
windbg> .settings load \path\to\windbg_js_scripts\config.xml
[...]\windbg_js_scripts\config.xml has been loaded successfully.
windbg> .settings save
Settings have been saved.
WinDbg가 로드될 때마다 갤러리는 Debugger.State.ExtensionGallery.ExtensionRepositories 아래에 로드됩니다:
kd> dx -r1 Debugger.State.ExtensionGallery.ExtensionRepositories
Debugger.State.ExtensionGallery.ExtensionRepositories
[0x0] : UserExtensions
[0x1] : hugsysgallery
[0x2] : overgallery
[0x3] : LocalInstalled
또한 현재 세션에서 사용 가능한 스크립트를 나열할 수 있습니다:
kd> dx -r1 Debugger.State.ExtensionGallery.ExtensionRepositories.Where( x => x.Name == "hugsysgallery" ).First().Packages
Debugger.State.ExtensionGallery.ExtensionRepositories.Where( x => x.Name == "hugsysgallery" ).First().Packages
[0x0] : EnumCallbacks
[0x1] : GetIdtGdt
[0x2] : BreakOnProcessCreate
[0x3] : DumpLookasides
[0x4] : GetSsdtTable
[0x5] : BigPool
[0x6] : PageExplorer
[0x7] : VadExplorer
[0x8] : ObjectExplorer
[0x9] : RegistryExplorer
[0xa] : GetSiloMonitors
[0xb] : EnumApc
[0xc] : EnvVars
[0xd] : EnumImages
[0xe] : CallGraph
[0xf] : TraceFunctions
[0x10] : CyclicPattern