| <html> |
| <head> |
| <title> |
| Using HotSpot Serviceability Agent (SA) |
| </title> |
| </head> |
| <body> |
| <h1>Using HotSpot Serviceability Agent (SA)</h1> |
| |
| <h3>HSDB GUI</h3> |
| <p> |
| The top-level GUI program using the HotSpot Serviceability Agent APIs is |
| called <b>HSDB</b>, the "HotSpot Debugger". To run it, type "jhsdb hsdb". |
| More info on HSDB GUI are in <a href="hsdb.html">hsdb.html</a>. Also |
| see the "jhsdb" man page. |
| </p> |
| |
| <h3>SA Modes</h3> |
| <p> |
| There are three modes for the SA debugger: |
| <ul> |
| <li>attaching to a local process |
| <li>opening a core file |
| <li>attaching to a remote "debug server" |
| </ul> |
| <p> |
| The remote case requires running the debug server on the remote machine. This |
| is done by running "jhsdb debugd", and also adding arguments specifying the core |
| file or process to debug. Once this is done you can connect remotely |
| to the debug server by running various other "jhsdb" subcommands, and specifying |
| which debug server to connect to. See the "jhsdb" man page for details. |
| </p> |
| |
| <h3>Command line HSDB</h3> |
| <p> |
| There is also a command line HSDB variant. It is launched using "jhsdb clhsdb". |
| More details on the command line interface can be found in the "jhsdb" man page and also in:<ul> |
| <li><a href="clhsdb.html">clhsdb.html</a> |
| </ul> |
| </p> |
| |
| <h3>Compilation Replay</h3> |
| <p> |
| When a java process crashes in a compiled method, usually a core file is saved. |
| The compiler replay function can reproduce the compiling process in the core. |
| See <a href="cireplay.html">cireplay.html</a> |
| |
| <h3>Debugging transported core dumps</h3> |
| <p> |
| When a core dump is moved from the machine where it was produced to a |
| different machine, it may not always be possible for SA to debug it. |
| More info on debugging on transported core dumps is in |
| <a href="transported_core.html">transported_core.html</a>. |
| </p> |
| |
| <h3>SA Bugs</h3> |
| <p> |
| Not all of the possible states of target VMs have been tested (or |
| are supportable) with SA. For example, the SA will probably not work at all |
| if it freezes the target VM during certain phases of GC. When filing bugs, |
| a pointer to a core file (see gcore(1)) which the SA can not handle well |
| is best. |
| </p> |
| |
| </body> |
| </html> |