hotspot/agent/doc/hsdb.html
author minqi
Mon, 12 Nov 2012 14:03:53 -0800 (2012-11-12)
changeset 14477 95e66ea71f71
parent 1 489c9b5090e2
permissions -rw-r--r--
6830717: replay of compilations would help with debugging Summary: When java process crashed in compiler thread, repeat the compilation process will help finding root cause. This is done with using SA dump application class data and replay data from core dump, then use debug version of jvm to recompile the problematic java method. Reviewed-by: kvn, twisti, sspitsyn Contributed-by: yumin.qi@oracle.com
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
     1
<html>
489c9b5090e2 Initial load
duke
parents:
diff changeset
     2
<head>
489c9b5090e2 Initial load
duke
parents:
diff changeset
     3
<title>
489c9b5090e2 Initial load
duke
parents:
diff changeset
     4
SA HSDB GUI
489c9b5090e2 Initial load
duke
parents:
diff changeset
     5
</title>
489c9b5090e2 Initial load
duke
parents:
diff changeset
     6
</head>
489c9b5090e2 Initial load
duke
parents:
diff changeset
     7
<body>
489c9b5090e2 Initial load
duke
parents:
diff changeset
     8
<p>
489c9b5090e2 Initial load
duke
parents:
diff changeset
     9
Once the HSDB debugger has been launched, the threads list is displayed
489c9b5090e2 Initial load
duke
parents:
diff changeset
    10
if launched with debuggee options (pid or core) in command line. If
489c9b5090e2 Initial load
duke
parents:
diff changeset
    11
HSDB was launched without debuggee, empty screen is shown.
489c9b5090e2 Initial load
duke
parents:
diff changeset
    12
</p>
489c9b5090e2 Initial load
duke
parents:
diff changeset
    13
<p>File menu sub-menu options to attach, detach debuggee and exit tool.</p>
489c9b5090e2 Initial load
duke
parents:
diff changeset
    14
<p>Tools menu sub-menus include:</p>
489c9b5090e2 Initial load
duke
parents:
diff changeset
    15
  <ul>
489c9b5090e2 Initial load
duke
parents:
diff changeset
    16
  <li>browsing of the annotated stack memory ("Stack Memory" button). It
489c9b5090e2 Initial load
duke
parents:
diff changeset
    17
   is currently annotated with the following information:
489c9b5090e2 Initial load
duke
parents:
diff changeset
    18
   <ul>
489c9b5090e2 Initial load
duke
parents:
diff changeset
    19
   <li> method names of the Java frames and their extents (supporting
489c9b5090e2 Initial load
duke
parents:
diff changeset
    20
     inlined compiled methods)
489c9b5090e2 Initial load
duke
parents:
diff changeset
    21
   <li> locations and types of oops, found using the oop map information
489c9b5090e2 Initial load
duke
parents:
diff changeset
    22
     from compiled methods (interpreter oop maps coming soon)
489c9b5090e2 Initial load
duke
parents:
diff changeset
    23
   <li> if a Java frame was interrupted by a signal (e.g., because of a
489c9b5090e2 Initial load
duke
parents:
diff changeset
    24
     crash), annotates the frame with the signal name and number
489c9b5090e2 Initial load
duke
parents:
diff changeset
    25
   <li> interpreter codelet descriptions for interpreted frames
489c9b5090e2 Initial load
duke
parents:
diff changeset
    26
   </ul>
489c9b5090e2 Initial load
duke
parents:
diff changeset
    27
 <li> finding which thread or threads caused a crash (currently
489c9b5090e2 Initial load
duke
parents:
diff changeset
    28
   identified by the presence of a signal handler frame - solaris-only)
489c9b5090e2 Initial load
duke
parents:
diff changeset
    29
 <li> browsing of oops using the Oop Inspector.
489c9b5090e2 Initial load
duke
parents:
diff changeset
    30
 <li> browsing of the java.lang.Thread object's oop.
489c9b5090e2 Initial load
duke
parents:
diff changeset
    31
 <li> Object Histogram and inspection of objects and liveness analysis therein.
489c9b5090e2 Initial load
duke
parents:
diff changeset
    32
 <li> Class Browser - view Java classes, bytecode disassembly,
489c9b5090e2 Initial load
duke
parents:
diff changeset
    33
   or create .class files for selected classes
489c9b5090e2 Initial load
duke
parents:
diff changeset
    34
 <li> native disassembly (sparc, x86 only) and nmethod disassembly with annotations for safepoint details.
489c9b5090e2 Initial load
duke
parents:
diff changeset
    35
 <li> view -XX flags, System properties, VM version of debuggee
489c9b5090e2 Initial load
duke
parents:
diff changeset
    36
 </ul>
489c9b5090e2 Initial load
duke
parents:
diff changeset
    37
<p>Windows sub-menu options include:</p>
489c9b5090e2 Initial load
duke
parents:
diff changeset
    38
 <ul>
489c9b5090e2 Initial load
duke
parents:
diff changeset
    39
 <li> Windows sub-menu: Console window to run "CLHSDB" commands in GUI
489c9b5090e2 Initial load
duke
parents:
diff changeset
    40
 <li> Windows sub-menu: Debugger console of underlying native debugger (MS Windbg or dbx (if used))
489c9b5090e2 Initial load
duke
parents:
diff changeset
    41
</ul>
489c9b5090e2 Initial load
duke
parents:
diff changeset
    42
489c9b5090e2 Initial load
duke
parents:
diff changeset
    43
</body>
489c9b5090e2 Initial load
duke
parents:
diff changeset
    44
</html>