7 个版本 (重大更改)
0.117.0 | 2024 年 7 月 30 日 |
---|---|
0.116.1 | 2024 年 5 月 11 日 |
0.115.0-rc2 | 2024 年 3 月 21 日 |
0.114.0 | 2024 年 3 月 1 日 |
0.111.0 | 2023 年 11 月 16 日 |
#898 在 魔法豆
每月下载量:196
用于 ckb-debugger
795KB
527 行
包含 (ELF 可执行文件/库, 3MB) res/bench_pairing, (ELF 可执行文件/库, 505KB) res/sprintf, (ELF 可执行文件/库, 34KB) res/abc, (ELF 可执行文件/库, 34KB) res/fib, (ELF 可执行文件/库, 34KB) res/outofmemory, (ELF 可执行文件/库, 35KB) res/sbrk
CKB VM PProf
此项目以火焰图可视化工具所期望的格式对分析数据进行配置。它是 ckb-vm 的子项目。
用法
假设要测试的程序是
int fib(int n) {
if (n == 0 || n == 1) {
return n;
} else {
return fib(n-1) + fib(n-2);
}
}
int main() {
if (fib(10) != 55) {
return 1;
}
return 0;
}
我们应该在编译时加上 -g
选项来保存调试信息
$ riscv64-unknown-elf-gcc -g -o res/fib res/fib.c
为了将火焰图的文本表示转换为视觉表示,首先安装 inferno
$ cargo install inferno
然后,将由 FlameLayer 创建的文件传递给 inferno-flamegraph
$ cargo run -- --bin res/fib | inferno-flamegraph > res/fib.svg
打开 svg
了解更多关于 ckb-vm-pprof 的信息
- ckb-vm-pprof-converter:此项目将 ckb-vm-pprof 生成的原始数据转换为 pprof 支持的 profile.proto 格式,以便进行详细分析。
许可证
MIT
依赖项
~7.5MB
~140K SLoC