public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
From: Phil Muldoon <pmuldoon@redhat.com>
To: Simon Marchi <simon.marchi@ericsson.com>,
	Keith Seitz <keiths@redhat.com>,
	"gdb-patches@sourceware.org" <gdb-patches@sourceware.org>
Subject: Re: [python] Allow explicit locations in breakpoints.
Date: Mon, 16 Oct 2017 20:24:00 -0000	[thread overview]
Message-ID: <c6934b14-6025-5638-6922-2cc3d1ef3a9c@redhat.com> (raw)
In-Reply-To: <4768c7ad-cc3d-5702-fa93-40e9760d4ee8@ericsson.com>

On 16/10/17 19:23, Simon Marchi wrote:
> On 2017-08-23 02:30 PM, Phil Muldoon wrote:
>> On 23/08/17 18:51, Keith Seitz wrote:
>>> On 08/23/2017 06:58 AM, Phil Muldoon wrote:

> I think for Python it would make sense to support the two paradigms.  If you
> are writing a Python command that ends up installing a breakpoint, it would
> be nice if you could directly pass what you received to the gdb.Breakpoint
> constructor and have it parse it (including explicit locations).  For example,
> 
>   (gdb) special-break -file foo.c -line 17
> 
> But it would also be nice to have a keywords based API, for when the line/file/function
> information is already split.  It would avoid having to build an explicit linespec
> string just to have GDB parse it after.
> 
> In terms of API, I think the "spec" argument could be mutually exclusive with
> the function/file/line/etc keywork arguments, which would be added.  An error
> would be thrown if you try to use both ways at the same time.
> 
> About the line="+3" issue, because this is Python, the line keyword could
> probably accept integers and strings.  And if it's a string, there could
> be some validation on the format.
> 

Simon,

Thanks for the review. For the record I have no objection to the
keywords API in addition to the spec line.

But I'm not sure what you mean about the line argument taking an
integer or a string. So line is a problem; it can be:

- line=3 (at line three in the source code)
- line=+3 (plus three lines from current source location)
- line=-3 (minus three lines from current source location)

I'm not sure how I could write a ParseTupleAndKeyword to accept that
in any form other than a string? The -3 will be a minus three, the +3
will just be a 3, and the =3 will be a 3 too. The problem is the
relative "+" information gets lost. Did you have something else in
mind? I guess I could use the O& in the format string to invoke a
converter function? I'm not quite sure what you intend though?

For now, though, I'll add the keywords (as strings) in. This really
prompts me to think we should rewrite the gdb.Breakpoint constructor
to not use create_breakpoint and be more MI-like in the creation of
breakpoints.

Cheers

Phil

  parent reply	other threads:[~2017-10-16 20:24 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-23 13:59 Phil Muldoon
2017-08-23 17:51 ` Keith Seitz
2017-08-23 18:31   ` Phil Muldoon
2017-10-16 18:23     ` Simon Marchi
2017-10-16 18:33       ` Simon Marchi
2017-10-16 20:24       ` Phil Muldoon [this message]
2017-10-16 21:26         ` Simon Marchi
2017-10-16 22:01           ` Phil Muldoon
2017-10-16 22:26             ` Simon Marchi
2017-11-17 11:02               ` Phil Muldoon
2017-11-17 13:31                 ` Eli Zaretskii
2017-11-17 14:02                   ` Phil Muldoon
2017-11-23 22:17                 ` Simon Marchi
2017-11-24 14:07                   ` Phil Muldoon
2017-12-07 10:02                   ` Phil Muldoon
2017-12-07 12:16                     ` Phil Muldoon
2017-12-07 14:54                       ` Simon Marchi
2017-12-07 15:12                         ` Phil Muldoon
2017-12-07 16:41                           ` Simon Marchi
2017-12-08 13:50                     ` Eli Zaretskii
2017-09-12 10:03 ` Phil Muldoon
2017-10-02 15:18   ` Phil Muldoon
2017-10-16 11:14     ` Phil Muldoon
2017-10-16 18:31 ` Simon Marchi

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=c6934b14-6025-5638-6922-2cc3d1ef3a9c@redhat.com \
    --to=pmuldoon@redhat.com \
    --cc=gdb-patches@sourceware.org \
    --cc=keiths@redhat.com \
    --cc=simon.marchi@ericsson.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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).