Skip to content

Enable choice of debugger extension for WebAssembly modules with DWARF debug info. #2293

@mikaelwaltersson

Description

@mikaelwaltersson

Is your feature request related to a problem? Please describe.

The javascript debugger is hardcoded to use the ms-vscode.wasm-dwarf-debugging extension for supporting WebAssembly modules with DWARF debug info. That extension is mostly a thin layer around the https://github.com/ChromeDevTools/devtools-frontend.git code maintained by Google, this makes it really cumbersome / hard to contribute new features and bug fixes for the extension.

The current options available if one wants to fix a bug or add features to the extension:

  • Compile a new / forked version of the extension (still named ms-vscode.wasm-dwarf-debugging) and distribute the VSIX file outside of the VSCode extensions marketplace (see https://github.com/mikaelwaltersson/vscode-dwarf-debugging/releases/tag/release-2025-08-21).

  • Fork this repository to change the reference to ms-vscode.wasm-dwarf-debugging, possibly combining it to a single extension and publishing it to the VSCode extension marketplace. This is obviously not ideal as the JavaScript debugger is shipped with VSCode and you would be replacing the whole JavaScript debugging experience just to support for DWARF enabled WebAssembly modules.

Describe the feature you'd like

A way for the VSCode user to be able to select another "WebAssembly DWARF Debugging" compatible extension instead of ms-vscode.wasm-dwarf-debugging.

A simple solution would be to just add a setting where the user can specify the identifier for another extension to be used instead, for example "debug.javascript.wasm-dwarf-debugging-ext": "mwaltersson.wasm-dwarf-debugging" (just an example, not an actual published extension.)

This would make it possible to add support for Rust types which is missing in the Chromium devtools c++ extension.

Metadata

Metadata

Assignees

Labels

feature-requestRequest for new features or functionality

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions