{"id":18755801,"url":"https://github.com/kasperskylab/windbg-js-scripts","last_synced_at":"2025-04-13T01:55:56.396Z","repository":{"id":40352918,"uuid":"323646403","full_name":"KasperskyLab/WinDbg-JS-Scripts","owner":"KasperskyLab","description":null,"archived":false,"fork":false,"pushed_at":"2022-05-13T10:41:56.000Z","size":15,"stargazers_count":34,"open_issues_count":0,"forks_count":10,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-13T01:55:51.301Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KasperskyLab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-12-22T14:18:43.000Z","updated_at":"2024-12-17T06:22:30.000Z","dependencies_parsed_at":"2022-07-16T13:16:11.378Z","dependency_job_id":null,"html_url":"https://github.com/KasperskyLab/WinDbg-JS-Scripts","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KasperskyLab%2FWinDbg-JS-Scripts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KasperskyLab%2FWinDbg-JS-Scripts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KasperskyLab%2FWinDbg-JS-Scripts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KasperskyLab%2FWinDbg-JS-Scripts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KasperskyLab","download_url":"https://codeload.github.com/KasperskyLab/WinDbg-JS-Scripts/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248654050,"owners_count":21140235,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-07T17:34:00.136Z","updated_at":"2025-04-13T01:55:56.363Z","avatar_url":"https://github.com/KasperskyLab.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## JS scripts for WinDbg\n\nThis is a collection of WinDbg JS scripts useful for dumps analysis.\n\n### Basic usage:\n\nTo use JS scripts in WinDbg you need WinDbg Preview or regular WinDbg from February 2019 or later.\n\nYou can load scripts by hand:\n1. Load JS engine first: .load jsprovider.dll\n2. Then load script: .scriptload \u003cscript filename with full path\u003e\n\n--or--\n\nYou can use it through the WinDbg extension gallery. This feature is available in WinDbg Preview 1.0.1902 and up or latest regular WinDbg.\nDocs are here https://github.com/microsoft/WinDbg-Samples/tree/master/Manifest\nGallery describes all commands in all scripts and automatically loads the required script if you try to use a command from it.\n\nThe gallery has already been prepared here but one step needs to be done by hand.\n1. The gallery files are: ManifestVersion.txt, manifest.N.xml and config.xml.template.\n2. You have to copy config.xml.template to config.xml\n3. Open config.xml in your favorite editor and for the LocalCacheRootFolder node set Value to the absolute path to that directory.\n4. Save changes.\n5. Open WinDbg with any dump - all you need is the WinDbg console.\n6. Load the gallery with command: .settings load \u003cconfig.xml with absoltute path\u003e\n7. If the command is absent then your WinDng is too old.\n8. If config.xml was loaded successfully, save it: .settings save\n9. Next close WinDbg, open again and try any script command - it should work without any additional action.\n\n### Commands:\n\n**common.js**\n\n- **!exccandidates [0x\u003cthread ID\u003e]**\n  Searches for possible exception records in stack\n  of the thread specified by \u003cthread ID\u003e or in stack of the current thread.\n\n- **!walk_stdmap 0x\u003chead ptr\u003e**\n  Dumps all elements of the map (no interpretation, just dds) with address \u003chead ptr\u003e.\n  The \u003chead ptr\u003e should be taken from _Myhead field of std::map\n\n**noexcept.js**\n\n- **!fix_stack**\n  Try to show corrected stack of the current thread if it is shown wrong due to an exception from noexcept function.\n\n**x64.js**\n\n- **!x32stacks**\n  Try to show x32 stacks of all threads in x64 kernel dump.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkasperskylab%2Fwindbg-js-scripts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkasperskylab%2Fwindbg-js-scripts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkasperskylab%2Fwindbg-js-scripts/lists"}