1 个不稳定版本
0.1.0 | 2023年4月19日 |
---|
#549 在 调试
每月 21 次下载
用于 cargo-wasm2map
33KB
492 代码行
Cargo WASM 源映射工具
为包含 DWARF 调试信息的 WASM 二进制文件生成浏览器支持的源映射,并将其与 WASM 二进制文件关联,因此在浏览器中加载时,您可以在调试面板和控制台中看到 rust 代码行、字符和源代码(如有)。
注意:可以构建不带不安全代码的版本(唯一的不安全代码与使用 memmap2 crate 相关)。
之前
之后
用法
- 使用 Cargo 在提供服务之前手动预处理您的 WASM 二进制文件
cargo install cargo-wasm2map
# Build your WASM binary the way you usually do
cargo build --target wasm32-unknown-unknown
# Generate sourcemap for the target WASM (replace myproject with your project
# name).
cargo wasm2map target/wasm32-unknown-unknown/debug/myproject.wasm \
-patch -base-url https://127.0.0.1:8080
# Serve the WASM to your browser... (i.e. https://127.0.0.1:8080 or wherever
# your index.html is)
- 将其作为库用于您的实用工具
use wasm2map::WASM;
let mapper = WASM::load("/path/to/the/file.wasm");
if let Ok(mut mapper) = mapper {
let sourcemap = mapper.map_v3();
mapper.patch("https://127.0.0.1:8080").expect("Failed to patch");
}
当前限制
- 目前它不会在源映射中捆绑源代码,因此浏览器中的源代码浏览将不起作用
贡献
欢迎您的贡献,特别是错误报告和在各个平台上的测试。如果您可以提供修复方案,请随时提交一个 PR。
如果您想贡献 API 变更、扩展或新的 trait 实现,请首先提交一个 issue 并在开始 PR 之前进行讨论。有关详细信息,请阅读 CONTRIBUTING.md 文件。
许可证
根据您的选择,受 Apache License 2.0 或 MIT 许可证的许可。除非您明确表示,否则您有意提交的任何贡献,根据 Apache-2.0 许可证定义,将根据上述条款双许可,不附加任何额外条款或条件。
SPDX-许可证-标识符:Apache-2.0 或 MIT
依赖项
~8.5MB
~189K SLoC