Qdb Debugger
Qdb Debugger
Command-line debugger plugin for Qiling. Supports ARM and MIPS (thumb mode). Based on Qdb.
Enable
1from qiling import Qiling
2from qiling.const import QL_VERBOSE
3
4ql = Qiling([r'rootfs/arm_linux/bin/arm_hello'], r'rootfs/arm_linux', verbose=QL_VERBOSE.DEBUG)
5
6ql.debugger = "qdb" # basic mode
7ql.debugger = "qdb::rr" # enable record-and-replay
8ql.debugger = "qdb:0x1030c" # enable + set breakpoint at 0x1030c
9
10ql.run()
Commands
| Command | Alias | Description |
|---|---|---|
step | s | Execute one instruction |
continue | c | Continue execution |
breakpoint <addr> | b | Set breakpoint at address |
examine <addr> | x | Read data from memory at address |
backward | p | Step backward (requires rr=True; address must have been stepped over first) |
Record and Replay
Enable with ql.debugger = "qdb::rr" or --rr flag in qltool.
Constraint: to step backward to an address, that address must have been executed via step previously in the same session.