You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
For release builds we are stripping the static name section from the wasm by-default. For local debugging one can compile with name section included (e.g. flutter build web --wasm --no-strip-wasm) but apps are usually deployed without symbols to reduce the wasm file size.
This means stack traces at runtime are non-symbolic. There's several ways one could get symbolic stack traces:
Make stripping the name section a separate pass, remember the mapping, provide offline decoding tool
Emit source maps in the compiler, which binaryen preserves across optimizations
Emit dwarf in the compiler, which binaryen may preserve to some extent
I stumbled upon this code in the binaryen sources in pass.cpp:
voidPassRunner::addDefaultFunctionOptimizationPasses() {
// All the additions here are optional if DWARF must be preserved. That is,// when DWARF is relevant we run fewer optimizations.// FIXME: support DWARF in all of them.
...
Because of that, I think we should avoid DWARF for the time being and instead emit source maps.
The text was updated successfully, but these errors were encountered:
For release builds we are stripping the static name section from the wasm by-default. For local debugging one can compile with name section included (e.g.
flutter build web --wasm --no-strip-wasm
) but apps are usually deployed without symbols to reduce the wasm file size.This means stack traces at runtime are non-symbolic. There's several ways one could get symbolic stack traces:
I stumbled upon this code in the binaryen sources in pass.cpp:
Because of that, I think we should avoid DWARF for the time being and instead emit source maps.
The text was updated successfully, but these errors were encountered: