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 月 17 日 |
#636 在 魔法豆
每月 200 次下载
2.5MB
1K SLoC
包含 (ELF exe/lib, 52KB) examples/print_log,(ELF exe/lib, 34KB) examples/fib,(ELF exe/lib, 26KB) examples/exec_callee,(ELF exe/lib, 26KB) examples/exec_caller,(ELF exe/lib, 27KB) examples/spawn_callee_strcat,(ELF exe/lib, 27KB) examples/spawn_caller_strcat 等 更多。
CKB 调试器
一个独立的调试器,可以用于链下合约开发。
使用方法
对于 Rust 库的使用,请参阅包含的测试,它们相当直观。
请参阅命令行帮助部分,了解二进制调试器的使用方法
ckb-debugger 0.113.0
USAGE:
ckb-debugger [FLAGS] [OPTIONS] --mode <mode> --tx-file <tx-file> [args]...
FLAGS:
-h, --help Prints help information
--prompt Set to true to prompt for stdin input before executing
--step Set to true to enable step mode, where we print PC address for each instruction
-V, --version Prints version information
OPTIONS:
--bin <bin> File used to replace the binary denoted in the script
-i, --cell-index <cell-index> Index of cell to run
-t, --cell-type <cell-type> Type of cell to run [possible values: input, output]
--decode <decode> Decode RISC-V instruction
--dump-file <dump-file> Dump file name
--gdb-listen <gdb-listen> Address to listen for GDB remote debugging server
--gdb-specify-depth <gdb-specify-depth> Specifies the depth of the exec/spawn stack [default: 0]
--max-cycles <max-cycles> Max cycles [default: 70000000]
--mode <mode>
Execution mode of debugger [default: full] [possible values: full, fast, gdb, probe, gdb_gdbstub]
--pprof <pprof> Performance profiling, specify output file for further use
--read-file <read-file>
Read content from local file or stdin. Then feed the content to syscall in scripts
-s, --script-group-type <script-group-type> Script group type [possible values: lock, type]
--script-hash <script-hash> Script hash
--script-version <script-version> Script version [default: 2]
--skip-end <skip-end> End address to skip printing debug info
--skip-start <skip-start> Start address to skip printing debug info
-f, --tx-file <tx-file> Filename containing JSON formatted transaction dump
ARGS:
<args>...
ckb-transaction-dumper 可以用于从 CKB 中转储调试器使用的全部模拟交易。
常见问题解答
如何打印调试信息
- 通过编译器参数
-fno-builtin-printf
编译合约,并用CKB_C_STDLIB_PRINTF
替换。 - 设置
RUST_LOG=debug
以 启用 输出 调试信息
依赖关系
~25–57MB
~1M SLoC