RFR: 8322980: Debug agent's dumpThread() API should update thread's name before printing it
Chris Plummer
cjplummer at openjdk.org
Thu Jan 4 02:14:48 UTC 2024
In threadControl.c, at build time you can decide to keep track of thread names by compiling with "#define DEBUG_THREADNAME". If this is also a debug build, some extra debugging functions are included in the build, including "dumpThread(ThreadNode *node)". These are intended to be called from gdb, or possibly from somewhere in the debug agent implementation, to aid with debugging. When dumpThread() prints the thread's name, it just uses the name that was stored when the thread was created. However, the thread name can change, so dumpThread() should really fetch the current thread name and print it.
I also added some commented out code to print other useful fields of the ThreadNode, including the ThreadState. These can be enabled by the user as needed.
Tested with all of tier1, and also ran tier2 and tier4 svc tests.
-------------
Commit messages:
- Minor code cleanup.
- Undo change to not print out suspendCount by default.
- Set get/set the thread's current name when dumping threads
Changes: https://git.openjdk.org/jdk/pull/17259/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=17259&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8322980
Stats: 45 lines in 1 file changed: 43 ins; 0 del; 2 mod
Patch: https://git.openjdk.org/jdk/pull/17259.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/17259/head:pull/17259
PR: https://git.openjdk.org/jdk/pull/17259
More information about the serviceability-dev
mailing list