rr
is a great debugging tool. it records a trace of a program's execution, as well as the results of
any syscalls it executes, so that you can "rewind" while you debug, and get deterministic forward and reverse
instrumented playback. it works with rust, but by default if you try it out, it could be pretty ugly when you
inspect variables.
steps:
- get the rust pretty printer python script
- configure gdb to automatically load it
~/.gdbinit
:
python
import sys
# set this to the path of the pretty printer
sys.path.insert(0, '/path/to/src/rust/src/etc/')
import gdb_rust_pretty_printing
gdb_rust_pretty_printing.register_printers(gdb)
end