JsDbg is a tool that provides developers with a web-based platform for debugger extensions. Unlike traditional debugging extensions that are debugger specific, JsDbg extensions are written with web technologies to run in the browser, which allows them to work across platforms and debuggers. By leveraging the benefits of HTML/CSS/JS, the extensions can also have richer user interfaces and functionality than what is typically present in a debugging extension.
To set up your debugger for JsDbg usage, please follow the steps below.
-
Download the JsDbg WinDbg extension. (This extension changes infrequently because JsDbg extensions can be updated without updating the WinDbg extension. [Last update: Jan 30th, 2019])
-
Copy jsdbg.dll into the
winext
folder located next yourwindbg.exe
installation. Make sure to use the x64 version of the dll for 64-bit WinDbg, and the x86 version for 32-bit WinDbg.
- Install the JsDbg Visual Studio (VS) extension. (This extension should be able to update without a re-install. To install the update, restart VS, use the extension once [see using JsDbg below], and then restart VS again.)
To use JsDbg extensions in your debugging workflow, please follow the steps below. Make sure you have set up your debugger for JsDbg usage first [see setup JsDbg above].
-
Attach WinDbg to the desired Microsoft Edge or Chromium process.
-
In the WinDbg command window, run
!jsdbg.jsdbg
. -
The JsDbg server will launch and prompt you to select a browser. If the debugger is attached to one browser, it is recommended that you choose a different browser for JsDbg.
-
Attach the VS debugger to the desired Microsoft Edge or Chromium process.
-
Break into the running process using the
Pause
icon on the Debug toolbar orDebug -> Break All
. -
Launch JsDbg by clicking the
JS
icon on the Debug toolbar orTools -> Launch JsDbg
. -
The JsDbg server will launch and prompt you to select a browser. If the debugger is attached to one browser, it is recommended that you choose a different browser for JsDbg.
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.
When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.
See Contributing to JsDbg for more details about contributing to this project.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.