SA has the ability to fetch the thread's registers via the thread context. It
would be nice to allow access to the registers from clhsdb. This plays in well
with the enhancements being done to PointerFinder as part of JDK-8247514. Many
of the register values will then be automatically displayed as symbols,
Methods, Threads, stack offsets, nmethods, interpreter codelets, etc.
During some recent debugging I did I found it useful to dump a thread's
registers in this manner. Although in this case I was inlining the code in the
part of SA where I wanted to see the registers, having it as a clhsdb command
would not only be useful to user, but also useful when debugging SA because it
would serve as a code snippet to copy-n-paste where needed.
The syntax is:
threadcontext [-v] { -a | id }
Where -a displays all threads, and "id" is used to display a specific thread.
This is the same argument syntax as some other commands that let you choose
all threads or just one thread, such as the "thread" and "where" commands. -v
just means more verbose output, whereas without it for the most part each
register printed will just take up one line.
-------------
Commit messages:
- Add support for clhsdb threadcontext commad.
Changes: https://git.openjdk.java.net/jdk/pull/6925/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=6925&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8250801
Stats: 166 lines in 3 files changed: 163 ins; 0 del; 3 mod
Patch: https://git.openjdk.java.net/jdk/pull/6925.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/6925/head:pull/6925
PR: https://git.openjdk.java.net/jdk/pull/6925