mirror of
https://github.com/react/react-native-devtools-frontend.git
synced 2026-10-03 02:21:05 +08:00
This adds native location resolver, written in Rust and compiled to WebAssembly, that can parse DWARF information from other given WebAssembly modules and resolve addresses <-> source location mappings in both directions. From V8 side, this depends on recently added Debugger.getWasmBytecode command and on a special "wasm://dwarf" source map URL reported for Wasm modules that contain DWARF information. On the JavaScript side, this uses autogenerated JavaScript bindings by wasm-bindgen to an internal context which contains all parsed data and lazily creates SDK.SourceMapEntry when requested. These bindings are further wrapped into a public class that implements SDK.SourceMap interface. --- Always auto-step over Wasm DWARF Wasm doesn't have any other source when DWARF is used for source mapping, so it will step into an empty source pane. This is not very useful, so let's always auto-step to the next resolved location. There are talks about stabilising auto-stepping for JS source maps as well, but for now limiting to just the new functionality should be safer. Change-Id: I6e981dcd33a03a5db2f2b1e39a93372c5ba09b97 Bug: 1016772 Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/1872581 Commit-Queue: Ingvar Stepanyan <rreverser@google.com> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>