mirror of
https://github.com/radareorg/radare2.git
synced 2025-01-19 04:12:46 +00:00
f343c4d74f
* Out of file reads (padding) filled by 0xff * Added r_sys_cmd () to wrap r_system() * Fix debug registers command to display segment and flag registers - Some draft changes in r_debug (signal handling and backtrace) * Fix warnings in r_line * Many more indentation fixes - Added st32 and st8 basic types
36 lines
1.2 KiB
Plaintext
36 lines
1.2 KiB
Plaintext
Debugger API for radare2
|
|
========================
|
|
|
|
We need to connect multiple pieces...
|
|
|
|
debugger engine: vm, qemu, bochs, ptrace, mach, w32dbg...
|
|
|
|
controlflow commands: (should be splitted in two layers)
|
|
|
|
- continue -- low level
|
|
- step -- low level
|
|
- trace --- high level one
|
|
- ...
|
|
|
|
the control flow commands depend on other stuff to decide
|
|
how to work..this is for example if the arch doesnt supports
|
|
continuation, we should provide a step based continue. The
|
|
same when a watchpoint is activated and the arch didnt
|
|
supports hardware regs for this purpose.
|
|
|
|
We also need a load/store/dump/restore functions to move the
|
|
program from one engine to another (ptrace -> qemu).. we should
|
|
provide a way for all this operations between them.
|
|
|
|
[continue]
|
|
|--- check if bp api allow us to continue or we should step into..
|
|
|--- check if debug plugin supports continue
|
|
|
|
[getregs]
|
|
|--- r_reg give us a list of registers
|
|
| - dr (show bitsize debug registers) // 32 by default
|
|
| - dr 32 (show 32 bit debug registers) // depends on size
|
|
| - dr:eax (show 'eax' register value)
|
|
| - dr:al (show 8bit register 'al')
|
|
| - dr eax=33 (set 'eax' register value)
|