From: Doug Evans <dje@google.com>
To: pmuldoon@redhat.com
Cc: gdb-patches@sourceware.org
Subject: Re: [patch] Add an evaluation function hook to Python breakpoints.
Date: Mon, 13 Dec 2010 20:45:00 -0000 [thread overview]
Message-ID: <AANLkTimS_32d+7phemj95qCSdJzgXXOxjMhbt_9+i8D6@mail.gmail.com> (raw)
In-Reply-To: <m38vztlr2r.fsf@redhat.com>
On Mon, Dec 13, 2010 at 5:50 AM, Phil Muldoon <pmuldoon@redhat.com> wrote:
> This patch allows Python breakpoints to be sub-classed and implements
> the "evaluate" function. If the user defines an "evaluate" function in
> the Python breakpoint it will be called when GDB evaluates any
> conditions assigned to the breakpoint. This allows the user to write
> conditional breakpoints entirely in Python, and also allows the user to
> collect data at each breakpoint. If the function returns True, GDB will
> stop the inferior at the breakpoint; if the function returns False
> the inferior will continue.
Hi.
My $0.02 cents.
Collecting data in the "evaluate" function feels too hacky for
something we explicitly tell users is the published way to do this
kind of thing.
And the name "evaluate" doesn't feel right either. What does it mean
to evaluate a breakpoint? [One might think it means to evaluate the
location of the breakpoint, e.g., since gdb tries to re-evaluate the
location when the binary changes.]
I realize the _p convention mightn't be sufficiently common to use in
the Python API, but for example a better name might be stop_p.
And then one would have another method (I don't have a good name for
it ATM) to use to collect data.
Setting aside name choices, I like that API better.
OTOH, it seems like Python-based breakpoints have two conditions now
(or at least two kinds of conditions one has to think about).
One set with the "condition" command and one from the "evaluate" API function.
IWBN to have only one, at least conceptually. Maybe you could rename
"evaluate" to "condition" (or some such, I realize there's already a
"condition"), and have the default be to use the CLI condition.
Not that this has to be done now, or ever, but I wonder how useful it
would be to allow CLI breakpoints to have commands that are executed
prior to evaluating the condition. "continue", etc. would not be
allowed here, so it may be too awkward to implement.
next prev parent reply other threads:[~2010-12-13 20:45 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-12-13 13:50 Phil Muldoon
2010-12-13 14:19 ` Eli Zaretskii
2010-12-13 14:47 ` Phil Muldoon
2010-12-13 15:07 ` Eli Zaretskii
2010-12-13 17:21 ` Phil Muldoon
2010-12-13 17:46 ` Eli Zaretskii
2010-12-13 14:33 ` Pedro Alves
2010-12-13 14:56 ` Phil Muldoon
2010-12-13 15:07 ` Pedro Alves
2010-12-13 20:45 ` Doug Evans [this message]
2010-12-13 21:02 ` Phil Muldoon
2010-12-14 3:31 ` Doug Evans
2010-12-14 17:18 ` Phil Muldoon
2010-12-14 17:28 ` Tom Tromey
2010-12-14 19:51 ` Phil Muldoon
2010-12-14 20:00 ` Phil Muldoon
2010-12-15 15:34 ` Phil Muldoon
2010-12-15 20:51 ` Tom Tromey
2011-01-27 12:44 ` Phil Muldoon
[not found] ` <AANLkTimi6ugruNAqUGHni8Kvkz+B5-s2aAkEoTY2D_gT@mail.gmail.com>
2011-01-27 21:40 ` Phil Muldoon
2011-01-28 10:42 ` Tom Tromey
2010-12-15 16:21 ` Doug Evans
2010-12-15 20:57 ` Tom Tromey
2010-12-21 17:33 ` Doug Evans
2010-12-21 20:02 ` Tom Tromey
2010-12-22 16:34 ` Doug Evans
2010-12-22 17:35 ` Tom Tromey
2010-12-28 5:53 ` Doug Evans
2011-01-05 18:35 ` Tom Tromey
2011-01-05 20:23 ` Phil Muldoon
2011-01-09 20:32 ` Doug Evans
2010-12-14 17:46 ` Pedro Alves
2010-12-14 16:35 ` Tom Tromey
2010-12-14 17:02 ` Phil Muldoon
2010-12-14 17:48 ` Tom Tromey
2010-12-14 16:42 ` Tom Tromey
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=AANLkTimS_32d+7phemj95qCSdJzgXXOxjMhbt_9+i8D6@mail.gmail.com \
--to=dje@google.com \
--cc=gdb-patches@sourceware.org \
--cc=pmuldoon@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox