【发布时间】:2020-12-15 11:39:33
【问题描述】:
clang 成功发出包含函数名称的 wasm 自定义名称部分(使用 -g 选项编译时),但是我发现无法同时发出未优化代码的参数名称和变量名称。是否有这样的选项,或者保留此功能的进度的公开票?
【问题讨论】:
标签: debugging clang webassembly names
clang 成功发出包含函数名称的 wasm 自定义名称部分(使用 -g 选项编译时),但是我发现无法同时发出未优化代码的参数名称和变量名称。是否有这样的选项,或者保留此功能的进度的公开票?
【问题讨论】:
标签: debugging clang webassembly names
;tldr;名称部分不够丰富,无法对这些信息进行编码。
当 clang 编译为 WebAssembly 时,源语言中的变量不直接对应于 WebAssembly 构造,例如局部变量和全局变量(至少不是以一致的方式)。目前唯一实现这一点的方法是通过 clang 发出的 DWARF 信息(如果您使用 emscripten 构建,您可以使用 -g3 获取 DWARF 输出)。了解此调试信息的工具生态系统仍在增长,但 chrome 最近宣布支持使用它:https://developers.google.com/web/updates/2019/12/webassembly
【讨论】: