Commit graph

157 commits

Author SHA1 Message Date
Álvaro Felipe Melchor
6b827c1563 Fix #4796 - Add dbm aka module relative breakpoints 2016-05-16 01:00:11 +02:00
Joshua J. Drake
29c2670039 Fix #4560: Handle recoils well with swstep=true
When resuming after (during) recoil from a breakpoint, the swstep
implementation would fail to advance. In short, the debugger would immediately
interrupt again because r_bp_restore was re-setting the original breakpoint
just before continue. The following changes fix this issue:

1. Modify r_bp_get_in to stop including the byte after a breakpoint. This was
causing r_bp_recoil to fail because it thought there was already a breakpoint
on the next instruction.

2. Pass the real breakpoint address (pc - dbg->bpsize) to r_bp_recoil so
that r_bp_get_in can work properly. Stop adding the b->size there to keep it
going too.

3. Add a state flag to core->dbg to track that we are in the midst of a recoil.

4. When continuing from recoil (in r_debug_continue_kill), restore all
breakpoints except the one we just hit (with the new r_bp_restore_except) to
avoid hitting it again. Once we move past this instruction, that breakpoint
will be set again.
2016-05-15 10:19:24 +02:00
Sergey Anufrienko
d7635e085e Introduce debug plugin for QNX pdebug interface 2016-04-22 11:45:51 +02:00
Daniel Domínguez
71beec242e Coredump generation for Mach0 binaries 2016-04-05 12:03:59 +02:00
skuater
c45fe4e1e7 Initial support for BOCHS (windows only for now) 2016-03-25 00:21:49 +01:00
pancake
517f7fa23e Handle Vi in Vppc - aka change reg values with cursor 2016-02-25 11:35:59 +01:00
Jeffrey Crowell
f713c67794 restyle the function decl in r_debug 2016-01-29 18:52:53 -05:00
Álvaro Felipe Melchor
c372743315 xnu: get rid of ptrace even for attach and detach
some rework in order to handle mach message as mach_exc_server and alike does
api change in plugin debug, now the function detach receive a pointer to RDebug
trying to deallocate port when are not needed any more
2016-01-23 22:50:28 +01:00
pancake
8eabe785fe Boolify RDebug API 2015-12-04 02:57:56 +01:00
Álvaro Felipe Melchor
a93e75f542 Initial merge on the reworked patch from @alvarofe 2015-11-17 01:00:09 +01:00
pancake
6a85a44962 Handle syscalls in asm.emu, better debug.arg and osx-syscalls 2015-10-29 11:22:49 +01:00
pancake
2c86d90bd8 Implement dbt* and extend backtrace to support stack frame addresses 2015-10-22 12:38:57 +02:00
pancake
a05ac7eaa4 RDebugPlugin.arch.typeof(char*) 2015-10-22 03:11:03 +02:00
Álvaro Felipe Melchor
c1f023ae5a Fix #3172 2015-10-14 00:11:35 +02:00
skuater
c72caa67ac Implement dbg.libs/unlibs for w32 2015-10-13 02:18:14 +02:00
pancake
7a04833eac Little refactoring for w32dll handling from rdebug 2015-10-12 18:49:16 +02:00
pancake
c13660c7e8 Implement dbg.regcols, managed from scr.columns and hex.cols 2015-10-03 13:33:08 +02:00
jvoisin
dba909b1dd Fix yet-another-batch of clang-analyzer issues 2015-09-01 23:24:11 +02:00
Álvaro Felipe Melchor
1d4ebdeb25 some refactoring & added threads field in RDebug 2015-09-01 18:45:08 +02:00
Álvaro Felipe Melchor
d8b1ee5b9b More cleanup in debug 2015-08-26 00:47:15 +02:00
pancake
030cb34f6d Add DebugPlugin->keepio to fix ffff regression in debugger 2015-08-24 16:44:09 +02:00
pancake
7c3ef24314 Delegate dmm logic into the native plugin.
- Add native iOS/OSX support to list modules
- Generic fallback used for the rest of platforms
- Update sdb to fix ~{}
- Fix ARM64 analysis typo issue
2015-08-24 01:29:35 +02:00
shengdi
932dde8504 Fix #3119 - Add dbg.btdepth 2015-08-23 12:35:24 +02:00
pancake
a6cb6ab07d Fix #2992 - Add dmpf and dmpt to dump/restore snapshots from/to disk 2015-08-19 14:06:59 +02:00
pancake
62e631a514 Add segfault and abort debug stop reasons 2015-08-17 00:55:07 +02:00
pancake
d22ac1228e Initial implementation of RDebugReason. See di command 2015-08-17 00:16:25 +02:00
yetmorecode
2e347da121 Removed w32 specific process_handle member from RDebug. 2015-08-13 20:44:17 +02:00
shuall
0807686d86 #3052 all printf member functions changed to cb_printf 2015-08-09 03:25:05 +02:00
pancake
55474775ba Fix #2990 - Add dmda dmdw dmsw dmsa and json listing 2015-07-23 00:49:59 +02:00
pancake
d2233a896b Add de Debugger Esil API for advanced software watchpoints
- Implemented in r_debug_esil_* APIs
- Support for step-into and continue
- Expressions can be regs, numbers, math operations, ranges, comparisons..
- Honor dbg.prestep for stepping before or after analysing
- read-write-exec watchpoints using native debug backend and esil emulation
- OSX/iOS debugger error message is now nicer
- anal/rpnesil renamed to esil
- Add esi,edi in osx regprofile
- Add r_cons_is_breaked() for consistency
2015-07-21 06:11:42 +02:00
pancake
4afc585acd Add fuzzy backtrace algorithm and show function and flag info in dbt 2015-06-29 22:23:04 +02:00
pancake
c6b0a5307f Add dbg.btalgo, remove dead code and fix null deref in previous commit 2015-06-25 16:40:39 +02:00
iessa s alkuwari
b439ba4dde backtrace improvements 2015-06-25 15:19:43 +02:00
Riccardo Schirone
1be0105343 core/cmd_debug: use a tree instead of a graph to do trace call/ret 2015-06-11 22:53:48 +02:00
pancake
ad80aba942 Initial support for debugger memory snapshots dms. Enhace hexdiffing
- Fix linux debugger
- ccc shows hexdiffing, but only the ones that differ
2015-02-23 03:29:40 +01:00
jvoisin
a8937732b8 Fix all 'warning: function declaration isn’t a prototype [-Wstrict-prototypes]' 2015-01-13 03:40:35 +01:00
pancake
6d309e2c5e Implement dko for Linux. Enhace the command and support SKIP and CONT options
- Can continue into the signal handler
- Can skip the instruction and ignore the signal handler
- By default it will just stop in there
2014-12-12 00:34:53 +01:00
LemonBoy
3b9164c04c Initial WinDBG support 2014-12-07 19:32:45 +01:00
pancake
5219e86071 Fix #1694 - Fix dcs after ds 2014-11-20 01:30:37 +01:00
pancake
6a6290a4da Implement Sdb in RDebug.Traces. O(n) vs O(1) in pd with asm.traces=true 2014-11-02 01:21:45 +01:00
pancake
211688f537 Handle bp.cmd and RBreakpointItem->cmd in RDebugContinue (bps and traces)
- Add scr.echo
2014-10-30 22:58:51 +01:00
pancake
fb8336f7d0 Add dbg.{forks|clone|execs} ptrace options (linux-only atm) 2014-10-09 01:21:49 +02:00
pancake
bdb7acc873 Refactor r_debug_pid_list() a bit 2014-10-01 21:39:28 +02:00
pancake
a0e609e40d Fix ARM swstepping and breakpoints, add dbg.bpsize 2014-09-26 13:57:03 +02:00
defragger
07c92d2d70 adds malloc and dealloc for windows 2014-08-29 12:15:52 +02:00
pancake
c79ef3b53d Refix 'dcs' and enhace '?' colorized help 2014-06-14 02:28:49 +02:00
pancake
5d22331b78 Fix build and some scary warnings in RCoreFile->fd 2014-06-14 02:09:41 +02:00
pancake
148733b7a1 Add linux-arm64 reg profile, fix linux-arm systracing. Handle multiple syscall stoppers in 'dcs' 2014-06-14 02:02:58 +02:00
pancake
315e8866e1 Add 'creg' color palete to colorize changed registers in 'drd' 2014-06-04 17:23:58 +02:00
pancake
2e789678de Implement RDebugInfo (only for linux atm) 2014-06-04 04:12:11 +02:00