| <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" (deprecated) | |
| </ul> | |
| <p><strong>WARNING: <b>jhsdb debugd</b> is deprecated and will be removed in a future release.</strong></p> | |
| <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>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> |