radare2/libr/debug/README
pancake 4fcf226269 * Lot of random work on multiple fronts
* Add 'var' in build liblist and 'vapi/t' for make clean
* Add ^C handler for r_cons. support for callbacks
* Add support for ./m ELF for example to interpret the output of commands
* Fix a bug in the regexp algorithm that can get into infinite loop
* Binmask can now contain non hexpair values
* Add '/m' search regexp matches using the new R_SEARCH_REGEXP algorithm
  - Handle ^C in search loop..needs to use callback method
* Properly cleanup the flag names
* Added asm.bits and asm.os eval vars
* Added some random tips for debug in README
  - Stupid snippets for import/export data between modules
  - Register support requires a rethink
* Initial work on the integration of r_io_undo() api
2009-02-17 00:09:40 +01:00

39 lines
1.2 KiB
Plaintext

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)