From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18182 invoked by alias); 6 Dec 2011 22:19:26 -0000 Received: (qmail 18157 invoked by uid 22791); 6 Dec 2011 22:19:26 -0000 X-SWARE-Spam-Status: No, hits=-2.8 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from localhost (HELO sourceware.org) (127.0.0.1) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 06 Dec 2011 22:19:13 +0000 From: "khooyp at cs dot umd.edu" To: gdb-prs@sourceware.org Subject: [Bug python/13473] New: step N/next N does not trigger gdb.events.stop Date: Tue, 06 Dec 2011 22:19:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gdb X-Bugzilla-Component: python X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: khooyp at cs dot umd.edu X-Bugzilla-Status: NEW X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: unassigned at sourceware dot org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: Message-ID: X-Bugzilla-URL: http://sourceware.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 Mailing-List: contact gdb-prs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-prs-owner@sourceware.org X-SW-Source: 2011-q4/txt/msg00495.txt.bz2 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) next 100 Breakpoint 2, foo (x=2) at loop.c:3 3 x++; -- 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.