radare2/libr/debug
pancake 35c078584c * Fix build of r_debug
* Some random warning fixups
* extern plugins defined in handle.c for asm, bin, .. cleaner
* RAPIfy the r_bininfo
* Initial implementation of Rarray Iterator
  - Needs some tuning in core Vala..but it is ok for demos
  - r_bin API is now using the Rarray iterator
  - Added Vala test program for it
* Fix build of some test programs
* Added r_diff and r_bininfo VAPI files
  - The APIs are inconsistent and untested. Proposals welcome
  - Fix possible overflow in r_bininfo
* Initial implementation of pool.c
  - Implements Memory.Pool class (Extracted from 'alt')
  - Added test program
2009-09-22 13:27:33 +02:00
..
p * Single valadoc by default 2009-09-21 15:39:10 +02:00
t * Single valadoc by default 2009-09-21 15:39:10 +02:00
debug.c * Fix build of r_debug 2009-09-22 13:27:33 +02:00
handle.c * Fix build of r_debug 2009-09-22 13:27:33 +02:00
Makefile * Some more random refactoring on r_debug and r_reg 2009-09-15 00:06:37 +02:00
pid.c * Initial r_io_bind'ization of r_bin .. not yet working 2009-09-10 20:51:34 +00:00
README * Lot of random work on multiple fronts 2009-02-17 00:09:40 +01:00
reg.c * Single valadoc by default 2009-09-21 15:39:10 +02:00

r_debug
=======

  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 allows 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)