DWARF
DWARF is a standard debugging information format used to map source-level information, such as line numbers, variable names and type layouts, to machine-code addresses in order to facilitate debugging.
Timeline (last 90 days)
Zed's JavaScript debugger added DWARF debugging support, enabling WebAssembly source code to be debugged directly (PR #65371).
Zed's WASM debugging capability relies on debug build artifacts retaining debug sections, while release builds typically strip DWARF.
Zed's JavaScript debugger is based on the Chrome DevTools Protocol, and V8 can parse DWARF data and map wasm instruction addresses back to the original C/C++/Rust source locations.
Once an ABI is determined, it remains stable for a long time, relied upon jointly by compilers, linkers, debuggers, and exception handling mechanisms (such as DWARF unwind tables), and any change triggers a chain reaction, so ABI compatibility is often the hardest threshold for low-level memory layout innovation to cross.
All Facts (4)
Zed's WASM debugging capability relies on debug build artifacts retaining debug sections, while release builds typically strip DWARF.
50%UnverifiedZed's JavaScript debugger is based on the Chrome DevTools Protocol, and V8 can parse DWARF data and map wasm instruction addresses back to the original C/C++/Rust source locations.
50%UnverifiedOnce an ABI is determined, it remains stable for a long time, relied upon jointly by compilers, linkers, debuggers, and exception handling mechanisms (such as DWARF unwind tables), and any change triggers a chain reaction, so ABI compatibility is often the hardest threshold for low-level memory layout innovation to cross.
50%UnverifiedZed's JavaScript debugger added DWARF debugging support, enabling WebAssembly source code to be debugged directly (PR #65371).
50%