Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Bob Rossi <bob@brasko.net>
To: Markus Schiltknecht <markus@bluegap.ch>, gdb-patches@sourceware.org
Subject: Re: minimalistic MI catch support
Date: Tue, 07 Feb 2006 01:15:00 -0000	[thread overview]
Message-ID: <20060207011600.GA18296@brasko.net> (raw)
In-Reply-To: <20060206232913.GD29510@nevyn.them.org>

On Mon, Feb 06, 2006 at 06:29:13PM -0500, Daniel Jacobowitz wrote:
> On Sat, Jan 28, 2006 at 02:04:24PM +0100, Markus Schiltknecht wrote:
> > Hello gdb hackers,
> > 
> > working on an automated debugging layer on top of gdb I figured the
> > catchpoint functions in the MI interface is missing. The attached patch
> > against current CVS at least makes gdb report a catchpoint-break via MI.
> > This is already sufficient for my application. However, I would
> > appreciate a complete catchpoint implementation for the MI interface. I
> > haven't figured out how to implement the '-break-catch' command. If
> > somebody more knowledgable could do that I'd be thankfull.
> > 
> > Please CC me in responses, as I'm not subscribed.
>
> For the patch, in general it's better to avoid ui_out_is_mi_like_p when
> we can.  Because the text outputs are ignored in non-MI mode, this is
> usually pretty easy; see the attached.

Daniel, could you please explain the above in more detail. In
particular, this patch adds specific functionality when in MI mode. Why
do we care about how it acts in non-MI mode? Just curious.

> This changes from:
> 
> *stopped,thread-id="0",frame={addr="0x00002aaaaaeb6462",func="fork",args=[],from="/lib/libc.so.6"}
> 
> to:
> 
> *stopped,reason="breakpoint-hit",bkptno="1",forked-process="6570",thread-id="0",frame={addr="0x00002aaaaaeb6462",func="fork",args=[],from="/lib/libc.so.6"}
> 
> You used fork and vfork for the reasons; I'm not sure whether these
> should have separate reasons or be marked as catchpoint-hit.  Bob,
> Nick, any opinions on that?

Defiantly this reason is better than the original patch. I think it would be 
best if we added a new enumeration called EXEC_ASYNC_CATCHPOINT_HIT, and 
returned that as the reason.  In the future, we could easily return the kind 
of catchpoint that was caught. For instance,

*stopped,reason="catchpoint-hit",catchpoint-kind="vfork",bkptno="1",forked-process="6570",thread-id="0",frame={addr="0x00002aaaaaeb6462",func="fork",args=[],from="/lib/libc.so.6"}

Finally, it irks me that all of the bp_catch_* commands are not being
implemented in this patch. I see these enumeration values:
  bp_catch_load,
  bp_catch_unload,
  bp_catch_fork,
  bp_catch_vfork,
  bp_catch_exec,
  bp_catch_catch,
  bp_catch_throw

I would really like to see a patch that supports all of these cases, or
none. It's just confusing to FE's to have 2/7'ths of the case's
implemented.

If no one has time to do this, I will. I certainly am running thin
though.

Thanks,
Bob Rossi


  reply	other threads:[~2006-02-07  1:15 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-01-28 13:04 Markus Schiltknecht
2006-02-06 23:29 ` Daniel Jacobowitz
2006-02-07  1:15   ` Bob Rossi [this message]
2006-02-07  3:00     ` Daniel Jacobowitz
2006-02-07 12:01       ` Markus Schiltknecht
2006-02-09  6:28 Nick Roberts
2006-02-10  6:34 ` Nick Roberts
2006-02-10 11:25   ` Eli Zaretskii
2006-02-10 14:11     ` Daniel Jacobowitz
2006-02-10 15:41       ` Eli Zaretskii
2006-02-10 16:48         ` Daniel Jacobowitz
2006-02-10 18:40           ` Eli Zaretskii
2006-02-10 18:52             ` Daniel Jacobowitz
2006-02-10 20:17       ` Nick Roberts
2006-02-10 20:20         ` Daniel Jacobowitz

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=20060207011600.GA18296@brasko.net \
    --to=bob@brasko.net \
    --cc=gdb-patches@sourceware.org \
    --cc=markus@bluegap.ch \
    /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