radare2/libr/debug
pancake e36ef11025 * Initial working basic block conditional decompilation
- Only 'test' opcode for x86 is currently supported (just for testing)
  - analysis backend generates RAnalValue's for each argument
  - compiles a cmp+cjmp into a RAnalCond class
  - de/serializes the RAnalCond into an evaluable string
  - Make anal api more stable
* Fix a memory leak in anal_bb
* Reassign anal->reg into dbg->reg
  - Replicate dbg->reg into dbg->anal->reg
  - Such nasty cascade assignation..
2010-06-16 21:44:19 +02:00
..
p * More fixes on build system 2010-06-15 14:10:42 +02:00
t * Rename "handler" to "plugin" 2010-05-26 18:25:35 +02:00
arg.c * Implement 'dr=' command to print regs in columns 2010-03-04 02:11:54 +01:00
debug.c * Initial implementation of the subclassed RLFList class 2010-06-16 09:42:46 +02:00
Makefile * Rename "handler" to "plugin" 2010-05-26 18:25:35 +02:00
map.c * Implement 'dcc' and 'dcr' debugger commands 2010-05-24 12:07:54 +02:00
pid.c * Implement basic thread list and attach support 2010-03-11 00:29:36 +01:00
plugin.c * Initial working basic block conditional decompilation 2010-06-16 21:44:19 +02:00
README * Fix delta seeking (do not allow seeks <0) 2010-02-02 11:09:52 +01:00
reg.c * Mental note: %lld/%llx does not exist on windows 2010-04-14 13:02:23 +02:00
TODO * Some sorting of TODOs 2010-03-25 21:14:28 +01:00
trace.c * Fix 'bx lr' and 'ldr pc,[pc,#]' code analysis for arm 2010-06-13 11:59:17 +02: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)