This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: GDB Python API: stop/continue after breakpoint
- From: Kevin Pouget <kevin dot pouget at gmail dot com>
- To: Tom Tromey <tromey at redhat dot com>
- Cc: pmuldoon at redhat dot com, gdb at sourceware dot org
- Date: Thu, 21 Apr 2011 09:01:19 -0400
- Subject: Re: GDB Python API: stop/continue after breakpoint
- References: <AANLkTim7t_4C8n=PJ8ZgCT=HsU7vdHMXyGWOe6QVCHfE@mail.gmail.com> <m3wrk58w0d.fsf@redhat.com> <AANLkTin_a87WgchmZnzi9_XX4DXh8q-r3P7EyyDAzTA4@mail.gmail.com> <AANLkTimdG3HKmwKCwaZW-Mz27_SFOBYq9=aHezkDYSWs@mail.gmail.com> <BANLkTikdOZEf4_85TA=Aj8+zBmPGX8-sBw@mail.gmail.com> <m3ipu92aq5.fsf@fleche.redhat.com>
> Kevin> * in event.stop.connect() that's possible, but I can't
> Kevin> `gdb.execute("continue")' the execution because I would miss any
> Kevin> "non-python" reasons to stop (ie, a user-breakpoint, a signal ...)
>
> I think you should be able to examine the stop event object to see what
> caused the event. ?If the event is a gdb.BreakpointEvent, and if
> event.breakpoint is your breakpoint, then do what you want.
I'm afraid that's impossible to do it with the current implementation, look:
def handle_double_stop(event):
print "Stop event: ", event.breakpoint.number
gdb.events.stop.connect(handle_double_stop)
(gdb) break main
Breakpoint 1
(gdb) break main
Breakpoint 2
(gdb) run
Stop event: 1
... as far as I know, there is no 'easy' way to know that Bp 2 was hit as well