From: Phil Muldoon <pmuldoon@redhat.com>
To: Doug Evans <dje@google.com>
Cc: Tom Tromey <tromey@redhat.com>,
pedro@codesourcery.com, eliz@gnu.org,
gdb-patches@sourceware.org
Subject: Re: [patch] Add an evaluation function hook to Python breakpoints.
Date: Thu, 27 Jan 2011 21:40:00 -0000 [thread overview]
Message-ID: <m3oc72nt9i.fsf@redhat.com> (raw)
In-Reply-To: <AANLkTimi6ugruNAqUGHni8Kvkz+B5-s2aAkEoTY2D_gT@mail.gmail.com> (Doug Evans's message of "Thu, 27 Jan 2011 09:18:38 -0800")
Doug Evans <dje@google.com> writes:
> On Thu, Jan 27, 2011 at 1:41 AM, Phil Muldoon <pmuldoon@redhat.com> wrote:
>
> > Since we're now overloading the "condition" member, what happens if the
> > user sets a condition on the breakpoint?
> >
> > I think we may need an additional check here, to see if the "condition"
> > member is a callable object.
>
> I cannot find a way to test if an attribute is callable or
> not. There is: PyCallable_Check but that only refers to the object
> itself. I think there is only a check to see if the attribute exists
> (which we do), but as you correctly point out, as we are overloading
> "condition" that will always return True. For now, as we are waiting
> for other bits of the breakpoint puzzle to fall in place, I've returned
> the name to "eval". It is trivial to change it in the code and tests at
> a later date.
>
> Hi. I'd like to understand this better.
> I'm not advocating any particular position, I just want to make sure we don't make a mistake - it is not trivial to change the published API (if it were
> we'd get rid of SENTINEL_FRAME 1/2 :-)).
I totally agree, but this is still just work-in-progress. This only exists in
my archer branch. I apologies for waiting so long to reply, I thought I
had already!
>
> AIUI, the suggestion is to have "condition" be the cli breakpoint condition and "eval" be another condition available in the python breakpoint API. Am I
> correct?
> [Apologies, it's been awhile since I looked at this.]
This was purely a collision on naming. There is the *attribute*
"condition" which has been in the API from the very start. You could
just set this (IE if foo == 12) and it would be analogous to the user
typing in a condition in the GDB CLI. It accepted a string, and it was
purely a textual interface to the existing GDB CLI conditions framework.
The new stuff was the Python written condition. This is where you could
write your condition in Python by implementing a method called
"condition". Tom noted that if you had an old type condition, the
current code would try to execute it (so it was faulty), as the hasAttr
function will report it exists. My note was that I could not determine
if hasAttr was reporting the condition method, or the the condition
attribute. So I renamed it back to something I used before. My trivial
note text just indicated that we can call it what we like when we agree
on the breakpoint work, it is a 5 minute task to do that.
Cheers
Phil
next prev parent reply other threads:[~2011-01-27 17:36 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
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 [this message]
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=m3oc72nt9i.fsf@redhat.com \
--to=pmuldoon@redhat.com \
--cc=dje@google.com \
--cc=eliz@gnu.org \
--cc=gdb-patches@sourceware.org \
--cc=pedro@codesourcery.com \
--cc=tromey@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