mirror of
https://github.com/radareorg/radare2.git
synced 2024-12-04 03:11:28 +00:00
4fcf226269
* 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
39 lines
1.2 KiB
Plaintext
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)
|