radare2/libr/debug
pancake 8def2767f3 * Initial quick-and-dirty implementation of backtrace
- Using r_list and so on
* Add 'pm' print command using print_format()
* Change color of nops and end-of-block-split lines
* More random syntax fixes
2010-03-01 10:49:04 +01:00
..
p * Properly manage Color_RESET from r_core 2010-02-28 23:57:55 +01:00
t
bt.c * Initial quick-and-dirty implementation of backtrace 2010-03-01 10:49:04 +01:00
debug.c * Fix return value of bin_meta_elf 2010-02-28 22:58:21 +01:00
handle.c
Makefile * Initial quick-and-dirty implementation of backtrace 2010-03-01 10:49:04 +01:00
map.c
pid.c
README
reg.c * Fix return value of bin_meta_elf 2010-02-28 22:58:21 +01:00

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)