WebAssembly入门课
于航
PayPal 高级软件工程师
新⼈⾸单¥9.9
1339 人已学习
课程目录
已更新 20 讲 / 共 22 讲
0/4登录后,你可以任选4讲全文学习。
课前必读 (3讲)
开篇词 | 我们为什么要了解 WebAssembly?
免费
01 | 基础篇:学习此课程你需要了解哪些基础知识?
02 | 历史篇:为什么会有 WebAssembly 这样一门技术?
核心原理篇 (6讲)
03 | WebAssembly 是一门新的编程语言吗?
04 | WebAssembly 模块的基本组成结构到底有多简单?
05 | 二进制编码:WebAssembly 微观世界的基本数据规则是什么?
06 | WAT:如何让一个 WebAssembly 二进制模块的内容易于解读?
07 | WASI:你听说过 WebAssembly 操作系统接口吗?
08 | API:在 WebAssembly MVP 标准下你能做到哪些事?
应用篇 (6讲)
09 | WebAssembly 能够为 Web 前端框架赋能吗?
10 | 有哪些已经投入生产的 WebAssembly 真实案例?
11 | WebAssembly 在物联网、多媒体与云技术方面有哪些创新实践?
12 | 有哪些优秀的 WebAssembly 编译器与运行时?
13 | LLVM:如何将自定义的语言编译到 WebAssembly?
14 | 有哪些正在行进中的 WebAssembly Post-MVP 提案?
实战篇 (5讲)
15 | 如何实现一个 WebAssembly 在线多媒体处理应用(一)?
16 | 如何实现一个 WebAssembly 在线多媒体处理应用(二)?
17 | 如何实现一个 WebAssembly 在线多媒体处理应用(三)?
18 | 如何进行 Wasm 应用的调试与分析?
19 | 如何应用 WASI 及其相关生态?
WebAssembly入门课
15
15
1.0x
00:00/00:00
登录|注册

18 | 如何进行 Wasm 应用的调试与分析?

于航 2020-10-14
你好,我是于航。
所有正在应用 Wasm 这门技术的开发者,都会被频繁问到这样一个问题 —— “如何能够以最正确的方式来对一个 Wasm 模块(应用)进行调试?”
实际上,针对 Wasm 模块的调试方案与相应的工具链,暂时还没有统一的“事实标准”。而又由于 Wasm 本身可以被应用在诸如 Web 与 out-of-web 等多种场景中,这便使得对 Wasm 模块或应用的调试过程,变得十分复杂。
在本节课里我将为你总结现阶段所能够使用的一些,针对于独立 Wasm 模块或者说 Wasm 应用的调试方案。这些方案本身并没有优劣之分,你可以根据自己的实际情况和应用场景来挑选合适的 Wasm 调试方式。
这些方案将会基于不同的工具实现来展开,而关于工具本身的安装过程,你可以参考我在这节课里给出的相关链接。
总的来说,我们可以将这些方案划分为 Web 与 out-of-web 两种场景。前者对应于运行在 Web 浏览器中的 Wasm 应用,这些应用仅使用到了 Wasm 核心标准中的特性;而后者则对应于运行在如 Wasmtime 等 Wasm 运行时中的 Wasm 应用,这部分应用还将会使用到除 Wasm 核心标准之外的 WASI 抽象操作系统接口标准。

编译时调试

作为开发 Wasm 应用的一个必不可少的流程,“编译”是一个无论如何也要跨过去的“槛”。但总是有着各种各样的原因,导致你的应用在编译阶段会出现问题。所以我们先来看看如何调试应用在编译期发生的错误。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《WebAssembly入门课》,如需阅读全部文章,
请订阅文章所属专栏新⼈⾸单¥9.9
立即订阅
登录 后留言

精选留言(2)

  • 猴哥
    之前在浏览器控制台可以看到C代码并能打断点,但是看不到变量值,以为哪里弄的不对。原来是不支持啊。很期待调试的改进
    2020-10-15
  • 一步
    wasm 的发展任重道远啊,但是未来可期
    2020-10-14
收起评论
2
返回
顶部