Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Doug Evans <dje@google.com>
To: Nick Bull <nicholaspbull@gmail.com>
Cc: gdb <gdb@sourceware.org>
Subject: Re: Spotting inferior function calls from Python
Date: Tue, 09 Apr 2013 16:19:00 -0000	[thread overview]
Message-ID: <CADPb22SwSLP7oz4Qh3iwXTGB2sBwh_TkvYief2_YHey7fz97EQ@mail.gmail.com> (raw)
In-Reply-To: <CABbKtXsjFYs6ywFgGcw6SzmiWuM1CgK8=mh8Q5eaR_sUXczfUw@mail.gmail.com>

On Fri, Apr 5, 2013 at 4:48 AM, Nick Bull <nicholaspbull@gmail.com> wrote:
> Hi,
>
> I would like my Python code to be notified when gdb causes a function to be
> run on the inferior outside of the normal program flow.  For example, this
> could be used to warn the user that any side-effects might change future
> program execution.
>
> I can't simply hook the 'call' command because there are many other
> commands which could in principle invoke inferior functions, and too many
> false positives would be inconvenient.
>
> It looks as though all such function calls happen via
> call_function_by_hand. So the simplest approach would be for me to create a
> new observer type which is notified in call_function_by_hand, and a
> corresponding Python event type. Does that sound sensible?
>
> And is such a patch likely to be accepted for inclusion, assuming all
> formatting and copyright assignment requirements are met?

Is such a warning sufficiently useful?
And if it is useful, it might make more sense to just add it to gdb proper.
Are there other uses for such an observer?
I'm not sure.  [I'm not objecting, just requesting more data.]

Plus for full coverage you need to intercept not just hand-called
functions but  target memory and register writes (and reads if they're
to device registers and such, but one could punt on that in the first
pass, I think).

fwiw, One feature I would like to see added is the ability to
intercept hand-called functions and run some Python code instead.
[I mightn't implement the warning using this.  Just fyi.]


  reply	other threads:[~2013-04-09 16:19 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-05 11:49 Nick Bull
2013-04-09 16:19 ` Doug Evans [this message]
2013-04-12 10:39 ` Phil Muldoon

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=CADPb22SwSLP7oz4Qh3iwXTGB2sBwh_TkvYief2_YHey7fz97EQ@mail.gmail.com \
    --to=dje@google.com \
    --cc=gdb@sourceware.org \
    --cc=nicholaspbull@gmail.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