This is the mail archive of the
gdb-prs@sourceware.org
mailing list for the GDB project.
[Bug python/13473] New: step N/next N does not triggergdb.events.stop
- From: "khooyp at cs dot umd.edu" <sourceware-bugzilla at sourceware dot org>
- To: gdb-prs at sourceware dot org
- Date: Tue, 06 Dec 2011 22:18:54 +0000
- Subject: [Bug python/13473] New: step N/next N does not triggergdb.events.stop
- Auto-submitted: auto-generated
http://sourceware.org/bugzilla/show_bug.cgi?id=13473
Bug #: 13473
Summary: step N/next N does not trigger gdb.events.stop
Product: gdb
Version: HEAD
Status: NEW
Severity: normal
Priority: P2
Component: python
AssignedTo: unassigned@sourceware.org
ReportedBy: khooyp@cs.umd.edu
Classification: Unclassified
Created attachment 6091
--> http://sourceware.org/bugzilla/attachment.cgi?id=6091
Fix "step N"/"next N" to trigger gdb.events.stop at breakpoints.
When using the "step N"/"next N" command (where N is given), and the program
stops before N due to a breakpoint, no events seem to be posted to
gdb.events.stop in Python. For example, for the following program:
int foo(int x) {
x++;
return x;
}
int main(void) {
int i;
for (i = 0; i < 4000; i++) {
i = foo(i);
}
return 0;
}
The following transcript, run under GDB HEAD (as of Dec. 6, 2011), shows that
gdb.events.stop are not triggered for breakpoints:
(gdb) start
Temporary breakpoint 1 at 0x80483a6: file loop.c, line 9.
Starting program: /home/khooyp/tmp/loop
Temporary breakpoint 1, main () at loop.c:9
9 for (i = 0; i < 4000; i++) {
(gdb) py def foo(s): print s
(gdb) py gdb.events.stop.connect(foo)
(gdb) b foo
Breakpoint 2 at 0x8048397: file loop.c, line 3.
(gdb) step 100
Breakpoint 2, foo (x=0) at loop.c:3
3 x++;
(gdb) next 100
Breakpoint 2, foo (x=2) at loop.c:3
3 x++;
I've attached a patch that fixes this problem. The patch leads to the following
transcript, which shows the breakpoint events being posted:
... as before ...
(gdb) step 100
Breakpoint 2, foo (x=0) at loop.c:3
3 x++;
<gdb.BreakpointEvent object at 0xb6ef6190>
(gdb) next 100
Breakpoint 2, foo (x=2) at loop.c:3
3 x++;
<gdb.BreakpointEvent object at 0xb6ef6190>
--
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.