summaryrefslogtreecommitdiff
path: root/packages/ltrace/0.7.3/0005-unexpected-breakpoint.patch
blob: 5827cd867e85f936e1aa19f536a52d866d66d606 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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


---
 handle_event.c |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

--- a/handle_event.c
+++ b/handle_event.c
@@ -656,9 +656,12 @@
 
 	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.  */