From: Luis Machado <luis_gustavo@mentor.com>
To: gdb-patches@sourceware.org
Subject: [RFC stub-side break conditions 0/5] General info
Date: Thu, 05 Jan 2012 14:56:00 -0000 [thread overview]
Message-ID: <4F05B9FE.1000500@mentor.com> (raw)
Hi,
This patch series adds support and required machinery to enable
breakpoint condition evaluation on the stub's side instead of solely in
the host's side.
When the evaluation is done on the stub's side, we eliminate all the
useless stub -> GDB trap notifications that happen when the condition is
false, potentially improving the speed of debugging on slower connections.
Condition evaluation is achieved through the use of the agent expression
machinery that is already in place for GDBServer. We extend the z0/z1
packets to carry additional data. In this case it carries the bytecode
expression that should be used for evaluation. Each z0/z1 packet will
carry all the conditions for all the locations at an specific address.
If we can't convert an expression into a valid agent expression (due to
complex types of host-specific data), then we fallback to evaluating the
condition on GDB's side.
A new switch was added to make it possible to choose between gdb/stub
evaluation modes: set/show breakpoint condition-evaluation. It defaults
to "auto". "auto" means "gdb" whenever the stub can't handle breakpoint
condition evaluation or when the expression can't be evaluated by the
agent expression machinery. "auto" means "stub" when the remote stub
supports evaluating conditions and if the expressions generate valid
agent expression bytecodes.
The patch is divided in 5 parts:
Part 1: Documentation bits
Part 2: Protocol and feature changes
Part 3: GDB-specific changes
Part 4: GDBServer tracepoint/agent expression common code cleanup
Part 5: GDBServer breakpoint condition evaluation enablement
Luis
lgustavo@codesourcery.com
next reply other threads:[~2012-01-05 14:56 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-05 14:56 Luis Machado [this message]
2012-01-06 7:53 ` Eli Zaretskii
2012-01-06 9:10 ` Joel Brobecker
2012-01-06 10:49 ` Luis Machado
2012-01-06 20:12 ` Stan Shebs
2012-01-06 20:48 ` Eli Zaretskii
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=4F05B9FE.1000500@mentor.com \
--to=luis_gustavo@mentor.com \
--cc=gdb-patches@sourceware.org \
/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