On Mon, 12 Aug 2024 21:35:49 GMT, Chris Plummer <cjplum...@openjdk.org> wrote:
>> JVMTI has a somewhat unique event called DataDumpRequest. One way it is >> triggered is via the JVMTI.data_dump jcmd, which causes JVMTI to send the >> DataDumpRequest event to all agents that have registered for the event >> callback. The agent is free to do pretty much what it wants during the >> callback, but the normal usage is to dump anything that might be useful for >> debugging the agent. In the case of the debug agent, it could dump internal >> data like the list of known threads and event handlers. After ranked monitor >> support is complete, it can also dump the state of all jvmti raw monitors >> that the debug agent uses. >> >> I decided to not enable this feature by default, and not make public the >> option to enable it. This should only be used by developers working on the >> debug agent, or by users when requested to do so (by debug agent developers) >> to help debug a debug agent problem. >> >> Most of the code executed during the data dump was only available for debug >> builds, so I've made it available for all builds. Their addition does not >> affect product builds except for adding a small footprint. >> >> TBD is directing the output to a file. This is useful for some of the >> debugger tests that don't include the debuggee output in the log. This seems >> to be the case for most com/sun/jdi tests. I decided not to include it for >> this first pass since it is rather disruptive and detracts from the main >> changes being made. >> >> testing tbd: run all tier1, tier2, and. tie5 svc tests. > > Chris Plummer has updated the pull request incrementally with one additional > commit since the last revision: > > git rid of unnecessary @build Looks good. src/jdk.jdwp.agent/share/native/libjdwp/eventHandler.c line 1337: > 1335: * > 1336: * This callback is made when a JVMTI data dump is requested. The > common way of doing > 1337: * this is with "jcmd <pid> JVMTI.data_dump". It is nice to have this here. test/jdk/com/sun/jdi/DataDumpTest.java line 44: > 42: import com.sun.jdi.request.EventRequest; > 43: import com.sun.jdi.request.ClassPrepareRequest; > 44: /** Nit: We normally have an empty line here. ------------- Marked as reviewed by sspitsyn (Reviewer). PR Review: https://git.openjdk.org/jdk/pull/20367#pullrequestreview-2236592809 PR Review Comment: https://git.openjdk.org/jdk/pull/20367#discussion_r1715937138 PR Review Comment: https://git.openjdk.org/jdk/pull/20367#discussion_r1715934910