From: Philippe Waroquiers <philippe.waroquiers@skynet.be>
To: gdb-patches@sourceware.org
Subject: [RFC 0/5] Implenent 'frame apply COMMAND', enhance 'thread apply COMMAND'
Date: Sat, 05 May 2018 19:28:00 -0000 [thread overview]
Message-ID: <20180505192804.12731-1-philippe.waroquiers@skynet.be> (raw)
This patch series :
* implements a new command
'frame apply [all | COUNT | -COUNT] [-FLAGS...] COMMAND'.
* enhance 'thread apply COMMAND' by adding a -FLAGS argument
* adds some shortcuts commands
* documents the above in gdb.texinfo and NEWS.
Th new command 'frame apply' allows to apply a COMMAND to a number of frames,
or to all frames.
The optional -FLAGS... argument allows to control what output to produce
and how to handle errors raised when applying COMMAND to a frame.
Some examples usages for this new command:
frame apply all info frame
Produce info frame for all frames
frame apply all p $sp
For each frame, print the location, followed by the frame sp
frame apply all -qq p $sp
Same as before, but -qq flags (q = quiet) indicate to only print
the frames sp.
frame apply all -vv p $sp
Same as before, but -vv flags (v = verbose) indicate to print
location and source line for each frame.
frame apply all p some_local_var_somewhere
Print some_local_var_somewhere in all frames. 'frame apply'
will abort as soon as the print command fails.
frame apply all -c p some_local_var_somewhere
Same as before, but -c flag (c = continue) means to
print the error and continue applying command in case the
print command fails.
frame apply all -s p some_local_var_somewhere
Same as before, but -s flag (s = silent) means to
be silent for frames where the print command fails.
In other words, this allows to 'search' the frame in which
some_local_var_somewhere can be printed.
'thread apply' command has been enhanced to also accepts a -FLAGS...
argument.
Some examples usages for this new argument:
thread apply all -s frame apply all -s p some_local_var_somewhere
Prints the thread id, frame location and some_local_var_somewhere
value in frames of threads that have such local var.
To make the life of the user easier, the most typical use cases
have shortcuts :
faas : shortcut for 'frame apply all -s'
taas : shortcut for 'thread apply all -s'
tfaas : shortcut for 'thread apply all -s frame apply all -s"
An example usage :
tfaas p some_local_var_somewhere
same as the longer:
'thread apply all -s frame apply all -s p some_local_var_somewhere'
The patch serie provides the implementation and all user visible documentation.
What is still missing is:
* Missing regression tests.
Not yet done as this is painful, and so is better done once there is
an agreement on the behaviour.
* Missing ChangeLog.
Not yet done as this is painful, and is IMO close to or completely useless.
So, I will do it for the (first) RFA, once the flow of RFC comments
stops :).
next reply other threads:[~2018-05-05 19:28 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-05 19:28 Philippe Waroquiers [this message]
2018-05-05 19:28 ` [RFC 1/5] Add helper functions check_for_flags and check_for_flags_vqcs Philippe Waroquiers
2018-05-18 1:56 ` Simon Marchi
2018-05-18 23:39 ` Philippe Waroquiers
2018-05-19 6:47 ` Simon Marchi
2018-05-19 6:59 ` Philippe Waroquiers
2018-05-05 19:28 ` [RFC 3/5] Add -FLAGS... argument to thread apply Philippe Waroquiers
2018-05-06 19:09 ` Eli Zaretskii
2018-05-05 19:28 ` [RFC 5/5] Announce 'frame apply', faas, taas, tfaas commands and -FLAGS... arg for frame apply Philippe Waroquiers
2018-05-06 19:13 ` Eli Zaretskii
2018-05-05 19:28 ` [RFC 2/5] Implement frame apply [all | COUNT | -COUNT] [-FLAGS...] COMMAND Philippe Waroquiers
2018-05-06 19:16 ` Eli Zaretskii
2018-05-18 1:58 ` Simon Marchi
2018-05-19 5:16 ` Philippe Waroquiers
2018-05-18 9:46 ` Simon Marchi
2018-05-05 19:28 ` [RFC 4/5] Documentation changes for 'frame apply' and 'thread apply' Philippe Waroquiers
2018-05-06 19:40 ` Eli Zaretskii
2018-05-18 10:42 ` [RFC 0/5] Implenent 'frame apply COMMAND', enhance 'thread apply COMMAND' Simon Marchi
2018-05-18 22:06 ` Philippe Waroquiers
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=20180505192804.12731-1-philippe.waroquiers@skynet.be \
--to=philippe.waroquiers@skynet.be \
--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