From: Vladimir Prus <vladimir@codesourcery.com>
To: gdb@sources.redhat.com
Subject: Re: Tracepoint enhancements
Date: Sat, 01 Nov 2008 08:40:00 -0000 [thread overview]
Message-ID: <geh4km$duh$1@ger.gmane.org> (raw)
In-Reply-To: <490B6CEF.2000003@vmware.com>
Michael Snyder wrote:
>> One possible change to consider is to merge tracepoint setting into
>> breakpoint setting. Among other benefits would be a single numbering
>> scheme for breakpoints and tracepoints, plus we will be able to share
>> some machinery and make things more consistent.
>
> Just my personal opinion, I would find that confusing.
>
> It seems useful to maintain a fairly sharp distinction
> between breakpoints and tracepoints, since their behavior
> is entirely different from both the implementation and the
> user's point of view.
>
> But I would not plan to make a fuss about it...
I think breakpoints and tracepoints have very lots of common.
First of all, the logic of resolving location specification to addresses
is, conceptually the same. Right now, breakpoints in constructors and
template functions work. Tracepoints don't seem to, because the fail
to use the multi-location breakpoint mechanisms. Tracepoints don't have
conditions -- which is something we want to fix -- and handling of condition
is a bit tricky too. Breakpoints in shared libraries work just fine --
and tracepoints should work too -- but they don't use pending breakpoints
mechanisms.
On the interface (MI) level breakpoints and tracepoints are essentially
the same. Breakpoints allow user, or frontend, to do something at specific
points of program. That something very well can be printing variables. In
fact, KDevelop does have "tracing" functionality for breakpoints -- where
on breakpoint hit, selected variables are printed and execution resumes.
Tracepoints are exactly the same, except that:
- they are more efficient
- they don't cause frontend to be involved, because to be efficient,
they are entirely stub-side
So it makes perfect sense to treat tracepoints as specially-optimized versions
of breakpoints. In order for breakpoint to be optimized like this, the list
of commands for that breakpoints should only use a limited set of commands,
and end with 'continue'
> One more thing, only vaguely related...
>
> I've thought that if we had the ability to attach an expression
> (in pcode such as we use for tracepoints) to a conditional breakpoint,
> we could have the conditional evaluation be done on the target
> rather than by gdb, which would be a big performance win for
> conditional breakpoints or watchpoints.
Yes. We want conditional tracepoints, and the condition would have to be evaluated
on the target. And if breakpoints and tracepoints are unified, both breakpoints and
tracepoints will benefit.
- Volodya
next prev parent reply other threads:[~2008-11-01 8:40 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-31 20:46 Stan Shebs
[not found] ` <490B6CEF.2000003@vmware.com>
2008-11-01 8:40 ` Vladimir Prus [this message]
2008-11-03 18:20 ` Michael Snyder
2008-11-04 21:17 ` Stan Shebs
2008-11-05 7:14 ` Vladimir Prus
[not found] ` <Pine.LNX.4.58.0811060523150.8468@vlab.hofr.at>
2008-11-06 18:19 ` Vladimir Prus
2008-11-03 6:38 ` Jakob Engblom
2008-11-03 18:27 ` Michael Snyder
2008-11-03 18:53 ` Jakob Engblom
2008-11-03 19:23 ` Michael Snyder
2008-11-04 14:00 ` Jakob Engblom
2008-11-04 21:37 ` Stan Shebs
2008-11-04 21:58 ` Michael Snyder
2008-11-05 9:04 ` Jakob Engblom
2008-11-03 9:12 ` Jeremy Bennett
2008-11-04 21:26 ` Stan Shebs
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='geh4km$duh$1@ger.gmane.org' \
--to=vladimir@codesourcery.com \
--cc=gdb@sources.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