Package: ltrace / 0.7.3-6

06-unexpected-breakpoint Patch series | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
From: Juan Cespedes <cespedes@debian.org>
Description: continue after unexpected breakpoint
  (instead of decrementing PC and execute int3 again and again)
Last-Update: 2014-01-03


--- ltrace-0.7.3.orig/handle_event.c
+++ ltrace-0.7.3/handle_event.c
@@ -656,9 +656,12 @@ handle_breakpoint(Event *event)
 
 	if ((sbp = address2bpstruct(leader, brk_addr)) != NULL)
 		breakpoint_on_hit(sbp, event->proc);
-	else if (event->proc->state != STATE_IGNORED)
+	else if (event->proc->state != STATE_IGNORED) {
 		output_line(event->proc,
 			    "unexpected breakpoint at %p", brk_addr);
+		continue_process(event->proc->pid);
+		return;
+	}
 
 	/* breakpoint_on_hit may delete its own breakpoint, so we have
 	 * to look it up again.  */