Skip to content

Latest commit

 

History

History
42 lines (31 loc) · 1007 Bytes

File metadata and controls

42 lines (31 loc) · 1007 Bytes

Example print_log

Tracing program execution by printing logs is a common operation. We will demonstrate how to use it.

First download the standard library:

$ git clone https://github.com/nervosnetwork/ckb-c-stdlib

Build it:

$ riscv64-unknown-elf-gcc -fno-builtin-printf -nostdinc -nostdlib -nostartfiles -I ./ckb-c-stdlib/libc -I ./ckb-c-stdlib -g -Wl,-static -o print_log print_log.c

Debug it:

$ RUST_LOG=debug ckb-debugger --bin print_log

DEBUG:<unknown>: SCRIPT>n = 5
DEBUG:<unknown>: SCRIPT>n = 4
DEBUG:<unknown>: SCRIPT>n = 3
DEBUG:<unknown>: SCRIPT>n = 2
DEBUG:<unknown>: SCRIPT>n = 1
DEBUG:<unknown>: SCRIPT>n = 0
DEBUG:<unknown>: SCRIPT>n = 1
DEBUG:<unknown>: SCRIPT>n = 2
DEBUG:<unknown>: SCRIPT>n = 1
DEBUG:<unknown>: SCRIPT>n = 0
DEBUG:<unknown>: SCRIPT>n = 3
DEBUG:<unknown>: SCRIPT>n = 2
DEBUG:<unknown>: SCRIPT>n = 1
DEBUG:<unknown>: SCRIPT>n = 0
DEBUG:<unknown>: SCRIPT>n = 1

References