在 Chrome 中调试 WebAssembly

awp*_*mus 9 google-chrome-devtools emscripten firefox-developer-tools webassembly

我是 WebAssembly 的新手,但我已经使用它和 Emscripten 大约一个月了,并且对最小的构建工具包相当熟悉。

在调试方面,我发现我找不到如何充分利用 Chrome 和 Firefox 环境。

在 Firefox 68.0.1 中,我的 Source Map 文件加载,我可以将它们正确映射到我的 C/C++ 源文件。

但是,我无法看到本地堆栈。我可以看到所有的局部变量,但是当我逐步执行我的 wasm 代码时,当 FF 显示它时,它将事物推送到我看不到的堆栈中,并且手动跟踪它是一种痛苦。

相比之下,Chrome 76 给了我堆栈,让我添加 Source Map 来查看我的 C/C++ 引用,但我无法让它给我任何类型的 wasm 代码来逐步完成,要么是我自己的垃圾文件,要么自己的拆解版。

我从节点 http-server 或 emscripten emrun 加载的所有 wasm 在 DevTools 的“Sources”选项卡中向我展示了我的源代码,但在 localhost 下还有一个标记为“top/(无域)”的节点。我试过加载一个简单的模块但没有成功。

简单的你好世界演示

我想弄清楚如何在 FireFox 中查看本地堆栈或让 Chrome 向我展示 wasm 反汇编(最好是两者)。Chrome 似乎为 WebAssembly Studio 这样做,我不知道为什么

在此处输入图片说明