mirror of
https://github.com/radareorg/radare2.git
synced 2024-12-05 20:17:43 +00:00
.. | ||
p | ||
bp.c | ||
io.c | ||
Jamroot | ||
Makefile | ||
parser.c | ||
parser.h | ||
plugin.c | ||
README | ||
traptrace.c | ||
watch.c |
libr.bp ======= Breakpoint API - Manages list of defined breakpoints - Determines if a stop is caused by a breakpoint - Owns a database of multiple types of breakpoints - arch and os based ones - Supports endianness - r_bp_get should return a buffer and a length - Manages conditional breakpoints expressions - Types of breakpoints - software (traps) - conditional traps - hardware (registers) - mmu (changes page protections) - All non-native operations are translated into evaluable expressions by other modules. Like changing register values and so on - Do we should place some callbacks for this kind of ops? - We need to make this work also remotely - r_debug can handle the remoteness of the debugger backend. - r_io can do it also - Watchpoints and its exception should be handled here - watchpoint expressions should be handled by using the r_num stuff - Hardware breakpoints require access to registers, or pid/tid this is... the debugger backend. For those, the debugger backend should fill a callback to manage them. - if the debugger breakpoint handler does not manages the breakpoint type, r_bp must do it with r_io storing and loading bp bytes. * Do we need the plugin API to define new breakpoints and so on?