radare2/libr/debug
pancake 9c0636e5ca * Fix return value of bin_meta_elf
* Added 'dsl' command to step until next meta information
  line is reached.
* Display file:line with context 5 with 'CL' command
  - Fix r_file_slurp_line
* Added 'dcu' command to continue until an address
  - bp,dc,bp-
* Added dbg.swstep to configure stepping debugger algorithm
* Add file.type. fixes warning. Defined by rabin2
* Load rabin2 in va format when debug or va modes are enabled
* Ask to kill the child before quitting
* cmd_quit is no longer calling 'exit'.
  - Returns R_CORE_CMD_EXIT (-2)
  - Return value can be captured at core->num.value
* Implement native kill as a debugger callback
* cmd.visual is now cmd.vprompt
* Add r_debug_reg_{get|set}
  - Handle register name aliases
  - Works only with ut64 type
* 'dr:eax' is now 'dr?eax'
* Lot of random syntax cleanups
2010-02-28 22:58:21 +01:00
..
p * Fix return value of bin_meta_elf 2010-02-28 22:58:21 +01:00
t * Initial working implementation of the r_diff with delta in C 2010-02-05 12:21:37 +01:00
bt.c * Import not-yet-used backtrace code for x86-32/64 2010-02-24 11:21:47 +01:00
debug.c * Fix return value of bin_meta_elf 2010-02-28 22:58:21 +01:00
handle.c * Added DEFAULT_ARCH for mips and powerpc 2010-02-22 04:02:13 +01:00
Makefile * Initial steps to make osx-ppc debugger work 2010-02-22 02:42:29 +01:00
map.c * Initial working implementation of the r_diff with delta in C 2010-02-05 12:21:37 +01:00
pid.c * Autodetection of --with-ostype in configure.acr 2010-02-21 20:24:28 +01:00
README * Fix delta seeking (do not allow seeks <0) 2010-02-02 11:09:52 +01:00
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)