Commit graph

202 commits

Author SHA1 Message Date
Joshua J. Drake
16c27891a0 Switch to r_sys_perror for errors and fix two typos 2016-06-20 15:24:19 +02:00
Álvaro Felipe Melchor
564803d5c2 express db breakpoints as dbm due to ASLR 2016-06-19 14:04:23 +02:00
Joshua J. Drake
0431a0efdf Properly handle forks on Linux 2.5.46+ (#5153)
Linux 2.5.46 made changes to the ptrace(2) API to inform a tracer when various
events occur. These are known as PTRACE_EVENTs. Start handling PTRACE_EVENTs
by:

 * Handling PTRACE_EVENT_FORK and PTRACE_EVENT_EXIT
 * For _FORK, stores the newly created pid in dbg->forked_pid
 * Add the "dpc" command to select the most recently forked child process.
 * Add the "dpc*" command to show the recently forked process' pid.

Additional minor changes to white space are included.

NOTE: This partially addresses #3549. It does handleLinux before 2.5.46.
2016-06-17 04:20:18 +02:00
Joshua J. Drake
e97e011426 Have r_debug_select change IO pids too (#5145) 2016-06-16 22:56:21 +02:00
Joshua J. Drake
285cd3b32f Minor tweaks to breakpoint handling
* Fix "dbm" help string
* Save <module>+<offset> as the name when using dbm
* Fix allocation patterns for "module"
* Remove commented out code
* White space fixes
2016-06-16 12:36:17 +02:00
pancake
95b2e511f5 Fix some warnings 2016-06-01 12:23:10 +02:00
Jeffrey Crowell
1c69a920b6 rm free of iterator, fix leak 2016-05-17 23:44:14 -04:00
Álvaro Felipe Melchor
6b827c1563 Fix #4796 - Add dbm aka module relative breakpoints 2016-05-16 01:00:11 +02:00
pancake
80ea7427bb Indentation fixes around the previous commit and beyond 2016-05-15 10:40:57 +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
Jeffrey Crowell
e0951cf874 fix Infinite looping of r_debug_reg_sync function
closes #4655

issue kill -0 to the debuggee to see if the pid is alive
2016-04-22 21:00:10 -04:00
pancake
b54614d292 Use anal reg profiles from debug.esil 2016-04-08 00:54:15 +02:00
NaveenBoggarapu
7d61361361 fix some memory leaks 2016-04-01 19:25:32 +02:00
Mizari
d6daa9d591 Fixed function calls for r_reg_set_bytes(reg,-1...) 2016-03-24 12:47:00 +01:00
Matthieu Tardy
bb84bbc276 Fix memory leaks in rabin2 and libr 2016-03-06 23:17:44 +01:00
pancake
3e53c64553 Fix #4165 - Reduce warning messages in debugger mode 2016-02-25 01:55:16 +01:00
pancake
74b23f10b9 Merge branch 'xnu' of https://github.com/alvarofe/radare2 2016-02-06 22:37:52 +01:00
Álvaro Felipe Melchor
efa2a8ecdf xnu: step, breakpoint working with mach exception 2016-02-06 19:53:29 +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
0af7cf1209 Fix dcs - continue until syscall 2016-01-13 22:25:08 +01:00
pancake
8eabe785fe Boolify RDebug API 2015-12-04 02:57:56 +01:00
pancake
40e08dbd89 Get rid of _Bool 2015-12-01 12:39:12 +01:00
pancake
4f1663d6bf Some rework for regs+step+cont in iosdbg 2015-11-17 01:00:29 +01:00
pancake
5c99eb0c3f Uppercase register aliases 2015-10-31 01:59:01 +01:00
pancake
3de77ad6e6 Initial support of dbg.libs/unlibs for Linux/OSX 2015-10-22 04:48:56 +02:00
pancake
a05ac7eaa4 RDebugPlugin.arch.typeof(char*) 2015-10-22 03:11:03 +02:00
skuater
99e2333395 dbg.libs/dbg.unlibs implementation. 2015-10-16 11:23:32 +02:00
pancake
7a04833eac Little refactoring for w32dll handling from rdebug 2015-10-12 18:49:16 +02:00
pancake
ec5bab3692 Fix another bug in strbuf 2015-09-28 03:20:53 +02:00
pancake
196d7db68d Honor asm.bits=64 in ios.dbg, very wip much test 2015-09-22 01:49:14 +02:00
pancake
49975ccf95 Fix #3286 - Use stdbool.h 2015-09-14 02:08:31 +02:00
Álvaro Felipe Melchor
1d4ebdeb25 some refactoring & added threads field in RDebug 2015-09-01 18:45:08 +02:00
pancake
bfdfe0ec38 Fix asm.bits issue in 8051 test 2015-08-31 13:54:24 +02:00
dequis
003a18aa30 A few simple memory leak fixes 2015-08-30 23:20:51 +02:00
Álvaro Felipe Melchor
d8b1ee5b9b More cleanup in debug 2015-08-26 00:47:15 +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
3c6c74555d Fixed hangup in w32 native debugging on dc after ctrl+c 2015-08-13 17:02:08 +02:00
yetmorecode
4f4bbdaf9e Fixed issue with r_debug_wait return type 2015-08-13 00:08:50 +02:00
yetmorecode
6d678aa3f8 Fixed issue when w32 debugging was hanging up on breakpoints from non main threads. 2015-08-13 00:08:50 +02:00
yetmorecode
667cdecd37 Enhanced shell output for win32 native debugging
Fixed multiple whitespace issues
Removed unnecessary include for string.h
2015-08-11 09:17:23 +02:00
shuall
0807686d86 #3052 all printf member functions changed to cb_printf 2015-08-09 03:25:05 +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
jvoisin
aa695bc808 Fix misc compilation warnings on Windows 2015-07-14 13:55:58 +02:00
pancake
4afc585acd Add fuzzy backtrace algorithm and show function and flag info in dbt 2015-06-29 22:23:04 +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
4ce609b589 Some llx -> PFMT64x 2015-05-28 11:05:52 +02:00
skuater@hotmail.com
ccfae11ebc windbg ^c support under linux+ ^c support for windows 2015-05-05 18:33:34 +02:00
skuater
b0c520b856 Handle ^C in native windows and windbg debuggers 2015-04-22 15:53:45 +02:00