Repository navigation
WebAssembly support in LLDB #150449
Copy link
Copy link
Open
Labels
backend:WebAssemblylldbmetaissueIssue to collect references to a group of similar or related issues.Issue to collect references to a group of similar or related issues.
Description
Meta-issue to track support for debugging WebAssembly (Wasm) with LLDB.
Core Support
- #150143 Add WebAssembly Process Plugin
- #151010 Support
DW_OP_WASM_locationin DWARFExpression - #151056 Implement
RegisterContextWasm - #171507 Add WebAssembly platform
- #175263 Make
PlatformWasmaRemoteAwarePlatform - #188751 Add
PlatformWebInspectorWasm(Safari/Web Inspector Wasm debugging)
Object/Symbol File
- #153093 Support parsing the Wasm symbol table
- #153494 Support parsing data symbols from the Wasm name section
- #153634 Create sections for Wasm segments
- #170960 Handle imports when parsing Wasm name sections
- #204496 Report a generic wasm32 architecture for Wasm object files
- #206840 Create a BSS section for WebAssembly object files
- #206832 Recover mangled symbol names from DWARF on WebAssembly
- #207235 Synthesize data symbols for WebAssembly from DWARF
- #208061 Give Wasm stack frames a synthetic call frame address
Wasm Runtime
- #190476 Inherit
Host::GetEnvironment()when launching a Wasm runtime - #193115 Don't enable ASLR for the Wasm runtime
- #206780 Forward the inferior's environment to the Wasm runtime
Expression Evaluation
- TBD
Bug Fixes
- #154433 Improve error handling in
ObjectFileWasm - #153332 Use
numeric_limitsfor all overflow checks inObjectFileWasm - #154727 Correctly parse Wasm segments
- #162942 Use the correct Wasm register context
- #176464 Fix
llvm_unreachablefor invalid Wasm address - #178299 Fix unchecked
llvm::ExpectedinObjectFileWasm - #190093 Skip local variable declarations at start of Wasm function
- #192893 Fix crash when evaluating expressions in Wasm targets
- #193124 Skip memory region probing in
FindSpacewhen process can't JIT - #194001 Handle partial memory region coverage in
IRMemoryMap::FindSpace - #196368 Immediately connect in
webinspector-wasm - #198700 Fall back to
FindProcessesinwebinspector-wasmGetProcessInfo - #198701 Recheck connection state in
webinspector-wasmEnsureConnected - #199124 Disable formatters for Wasm object format (bytecode)
- #204480 Skip the prologue when a function's entry has no line row
Testing
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
backend:WebAssemblylldbmetaissueIssue to collect references to a group of similar or related issues.Issue to collect references to a group of similar or related issues.
Activity
llvmbot commentedon Jul 24, 2025
@llvm/issue-subscribers-backend-webassembly
Author: Jonas Devlieghere (JDevlieghere)
Details
Meta-issue to track support for debugging WebAssembly (Wasm) using the GDB Remote Protocol with Wasm-specific extensions.llvmbot commentedon Jul 24, 2025
@llvm/issue-subscribers-lldb
Author: Jonas Devlieghere (JDevlieghere)
Details
Meta-issue to track support for debugging WebAssembly (Wasm) using the GDB Remote Protocol with Wasm-specific extensions.DavidSpickett commentedon Jul 25, 2025
Now linked from the website - c63c2f4.
dschuff commentedon Jul 25, 2025
In case it's useful, the sources for Chrome's wasm debugging devtools extension can be found here, although there's unfortunately no good documentation. WasmVendorPlugins.cc defines wasm-specific integrations, although there are also some places where it uses private APIs that predate the plugins.
DavidSpickett commentedon Apr 21, 2026
The description's tasks are all done but I assume that expressions needs to be done.
FYI we have these settings:
Which I think were added for embedded devices, but you could try using them as a first step for wasm.