Skip to content

ZyndaDeng/vscode-quickjs-debug

Repository files navigation

QuickJS Debug for VS Code

This is a VS Code debug adapter for QuickJS.

QuickJS Debugger supports stepping, continue, breakpoints, evaluation, and variable access.

The official QuickJS release does not have any debugger support. The QuickJS Debugger requires a forked version of QuickJS, that has minimal changes necessary to support debugging.

Using QuickJS Debug

  • Install the QuickJS Debug extension in VS Code.
  • Build the QuickJS fork from koush.
  • Specify the qjs runtime path in .vscode/launch.json.
  • Switch to the debug viewlet and press the gear dropdown.
  • Select the debug environment "Launch QuickJS".
  • Press the green 'play' button to start debugging.

You can now step through the test.js file, set and hit breakpoints.

QuickJS Debug

Embedding

To listen for a connection in embedded quickjs (attach + connect with vscode debugger):

// address is in format "0.0.0.0:6666" to listen on all addresses on port 6666
void js_debugger_wait_connection(JSContext *ctx, const char* address);

To initiate a connection in embedded quickjs (attach + listen with vscode debugger):

// address is in format "192.168.1.66:6666" to connect to 192.168.1.66 on port 6666
void js_debugger_connect(JSContext *ctx, const char* address);

Alternatively, provide one of the following environment variables before starting the process embedded with QuickJS:

QUICKJS_DEBUG_ADDRESS or QUICKJS_DEBUG_LISTEN_ADDRESS with the same value as above.

Using these methods will block execution until the debugger has attached.

Protocol

Protocol documentation is here.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published