APIdia Launch Partner
Top Description Inners Fields Constructors Methods
sun.jvm.hotspot

public Class HSDB

extends Object
implements Listener, SAListener
Class Inheritance
All Implemented Interfaces
sun.jvm.hotspot.ui.SAListener, sun.jvm.hotspot.ui.ObjectHistogramPanel.Listener
Imports
java.io.*, java.awt.*, java.awt.event.*, javax.swing.*, java.util.*, sun.jvm.hotspot.code.*, sun.jvm.hotspot.compiler.*, sun.jvm.hotspot.debugger.*, sun.jvm.hotspot.gc.epsilon.*, sun.jvm.hotspot.gc.parallel.*, sun.jvm.hotspot.gc.serial.*, sun.jvm.hotspot.gc.shared.*, sun.jvm.hotspot.gc.shenandoah.*, sun.jvm.hotspot.gc.g1.*, sun.jvm.hotspot.gc.z.*, sun.jvm.hotspot.interpreter.*, sun.jvm.hotspot.oops.*, sun.jvm.hotspot.runtime.*, sun.jvm.hotspot.ui.*, sun.jvm.hotspot.ui.tree.*, sun.jvm.hotspot.ui.classbrowser.*, sun.jvm.hotspot.utilities.*, .Observable, .Observer

The top-level HotSpot Debugger. FIXME: make this an embeddable component! (Among other things, figure out what to do with the menu bar...)

Nested and Inner Type Summary

Modifier and TypeClass and Description
pack-priv static interface
private class
pack-priv class
pack-priv class
pack-priv class
pack-priv class
pack-priv abstract class
pack-priv class

Field Summary

Modifier and TypeField and Description
private HotSpotAgent
private boolean
private boolean
private List<JMenuItem>
private JInternalFrame
private JMenuItem
private JInternalFrame
private String
private String
private JDesktopPane
private List<JMenuItem>
private String
private JFrame
private JVMDebugger
private int
private JMenuItem
private JInternalFrame
private JMenu
private WorkerThread

Constructor Summary

AccessConstructor and Description
public
private
HSDB(String[] args)

Method Summary

Modifier and TypeMethod and Description
private void
private void
attach(int pid)

NOTE we are in a different thread here than either the main thread or the Swing/AWT event handler thread, so we must be very careful when creating or removing widgets

private void
attach(final String executablePath, final String corePath)

NOTE we are in a different thread here than either the main thread or the Swing/AWT event handler thread, so we must be very careful when creating or removing widgets

private void
connect(final String debugServerName)

NOTE we are in a different thread here than either the main thread or the Swing/AWT event handler thread, so we must be very careful when creating or removing widgets

private static JMenuItem
private void
private void
private void
doHeapIteration(String frameTitle, String progressBarText, HeapVisitor visitor, HSDB.CleanupThunk cleanup)

private void
private static void
private void
private String
formatMessage(String message, int charsPerLine)

Punctuates the given string with \n's where necessary to not exceed the given number of characters per line.

private static JavaVFrame
public static void
main(String[] args)

public void
run()

private void
setMenuItemsEnabled(List<JMenuItem> items, boolean enabled)

public void
private void
public void
public void
public void
public void
private void
private void
private void
private void
private void
private void
private void
private void
public void
public void
public void
public void
private void
private void
public void
private void
private void
showPanel(String name, JPanel panel)

private void
showPanel(String name, JPanel panel, float aspectRatio, float fillRatio)

public void
public void
public void
private void
showThreadsDialog()

NOTE that this is called from another thread than the main or Swing thread and we have to be careful about synchronization

public void
public void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

agentback to summary
private HotSpotAgent agent
argErrorback to summary
private boolean argError
attachedback to summary
private boolean attached
attachMenuItemsback to summary
private List<JMenuItem> attachMenuItems
attachWaitDialogback to summary
private JInternalFrame attachWaitDialog
computeRevPtrsMenuItemback to summary
private JMenuItem computeRevPtrsMenuItem
consoleFrameback to summary
private JInternalFrame consoleFrame
coreFilenameback to summary
private String coreFilename
debugServerNameback to summary
private String debugServerName
desktopback to summary
private JDesktopPane desktop
detachMenuItemsback to summary
private List<JMenuItem> detachMenuItems
execPathback to summary
private String execPath
frameback to summary
private JFrame frame
jvmDebuggerback to summary
private JVMDebugger jvmDebugger
pidback to summary
private int pid
showDbgConsoleMenuItemback to summary
private JMenuItem showDbgConsoleMenuItem
threadsFrameback to summary
private JInternalFrame threadsFrame
toolsMenuback to summary
private JMenu toolsMenu
workerThreadback to summary
private WorkerThread workerThread

Constructor Detail

HSDBback to summary
public HSDB(JVMDebugger d)
HSDBback to summary
private HSDB(String[] args)

Method Detail

attachback to summary
private void attach(JVMDebugger d)
attachback to summary
private void attach(int pid)

NOTE we are in a different thread here than either the main thread or the Swing/AWT event handler thread, so we must be very careful when creating or removing widgets

attachback to summary
private void attach(final String executablePath, final String corePath)

NOTE we are in a different thread here than either the main thread or the Swing/AWT event handler thread, so we must be very careful when creating or removing widgets

connectback to summary
private void connect(final String debugServerName)

NOTE we are in a different thread here than either the main thread or the Swing/AWT event handler thread, so we must be very careful when creating or removing widgets

createMenuItemback to summary
private static JMenuItem createMenuItem(String name, ActionListener l)
detachback to summary
private void detach()
detachDebuggerback to summary
private void detachDebugger()
doHeapIterationback to summary
private void doHeapIteration(String frameTitle, String progressBarText, HeapVisitor visitor, HSDB.CleanupThunk cleanup)
doUsageback to summary
private void doUsage()
dumpStackback to summary
private static void dumpStack(JavaThread cur)
fireComputeReversePtrsback to summary
private void fireComputeReversePtrs()
formatMessageback to summary
private String formatMessage(String message, int charsPerLine)

Punctuates the given string with \n's where necessary to not exceed the given number of characters per line. Strips extraneous whitespace.

getLastJavaVFrameback to summary
private static JavaVFrame getLastJavaVFrame(JavaThread cur)
mainback to summary
public static void main(String[] args)
runback to summary
public void run()
setMenuItemsEnabledback to summary
private void setMenuItemsEnabled(List<JMenuItem> items, boolean enabled)
showAnnotatedMemoryViewerback to summary
public void showAnnotatedMemoryViewer()
showAttachDialogback to summary
private void showAttachDialog()
showClassBrowserback to summary
public void showClassBrowser()
showCodeViewerback to summary
public void showCodeViewer()
showCodeViewerback to summary
public void showCodeViewer(final Address address)

Implements sun.jvm.hotspot.ui.SAListener.showCodeViewer.

showCommandLineFlagsback to summary
public void showCommandLineFlags()
showConnectDialogback to summary
private void showConnectDialog()
showConsoleback to summary
private void showConsole()
showDeadlockDetectionPanelback to summary
private void showDeadlockDetectionPanel()
showDebuggerConsoleback to summary
private void showDebuggerConsole()
showFindInCodeCachePanelback to summary
private void showFindInCodeCachePanel()
showFindInHeapPanelback to summary
private void showFindInHeapPanel()
showFindPanelback to summary
private void showFindPanel()
showHeapParametersPanelback to summary
private void showHeapParametersPanel()
showInspectorback to summary
public void showInspector(SimpleTreeNode adapter)

Implements sun.jvm.hotspot.ui.SAListener.showInspector.

showJavaStackTraceback to summary
public void showJavaStackTrace(final JavaThread thread)

Implements sun.jvm.hotspot.ui.SAListener.showJavaStackTrace.

showLivenessback to summary
public void showLiveness(Oop oop, LivenessPathList liveness)

Implements sun.jvm.hotspot.ui.SAListener.showLiveness.

showMemoryViewerback to summary
public void showMemoryViewer()
showMonitorCacheDumpPanelback to summary
private void showMonitorCacheDumpPanel()
showObjectHistogramback to summary
private void showObjectHistogram()
showObjectsOfTypeback to summary
public void showObjectsOfType(Klass type)

Implements sun.jvm.hotspot.ui.ObjectHistogramPanel.Listener.showObjectsOfType.

showOpenCoreFileDialogback to summary
private void showOpenCoreFileDialog()
showPanelback to summary
private void showPanel(String name, JPanel panel)
showPanelback to summary
private void showPanel(String name, JPanel panel, float aspectRatio, float fillRatio)
showSystemPropertiesback to summary
public void showSystemProperties()
showThreadInfoback to summary
public void showThreadInfo(final JavaThread thread)

Implements sun.jvm.hotspot.ui.SAListener.showThreadInfo.

showThreadOopInspectorback to summary
public void showThreadOopInspector(JavaThread thread)

Implements sun.jvm.hotspot.ui.SAListener.showThreadOopInspector.

showThreadsDialogback to summary
private void showThreadsDialog()

NOTE that this is called from another thread than the main or Swing thread and we have to be careful about synchronization

showThreadStackMemoryback to summary
public void showThreadStackMemory(final JavaThread thread)

Implements sun.jvm.hotspot.ui.SAListener.showThreadStackMemory.

showVMVersionback to summary
public void showVMVersion()
sun.jvm.hotspot back to summary

pack-priv Interface HSDB.CleanupThunk

Known Direct Implementers
sun.jvm.hotspot.HSDB.ObjectHistogramCleanupThunk, sun.jvm.hotspot.HSDB.FindObjectByTypeCleanupThunk

Method Summary

Modifier and TypeMethod and Description
public void

Method Detail

heapIterationCompleteback to summary
public void heapIterationComplete()
sun.jvm.hotspot back to summary

private Class HSDB.CloseUI

extends WindowAdapter
Class Inheritance

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public void
windowClosing(WindowEvent e)

Overrides java.awt.event.WindowAdapter.windowClosing.

Implements java.awt.event.WindowListener.windowClosing.

Invoked when a window is in the process of being closed.

Inherited from java.awt.event.WindowAdapter:
windowActivatedwindowClosedwindowDeactivatedwindowDeiconifiedwindowGainedFocuswindowIconifiedwindowLostFocuswindowOpenedwindowStateChanged

Constructor Detail

CloseUIback to summary
private CloseUI()

Method Detail

windowClosingback to summary
public void windowClosing(WindowEvent e)

Overrides java.awt.event.WindowAdapter.windowClosing.

Implements java.awt.event.WindowListener.windowClosing.

Doc from java.awt.event.WindowAdapter.windowClosing.

Invoked when a window is in the process of being closed. The close operation can be overridden at this point.

Annotations
@Override
sun.jvm.hotspot back to summary

pack-priv Class HSDB.FindObjectByTypeCleanupThunk

extends Object
implements CleanupThunk
Class Inheritance
All Implemented Interfaces
sun.jvm.hotspot.HSDB.CleanupThunk

Field Summary

Modifier and TypeField and Description
pack-priv FindObjectByType

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
public void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

finderback to summary
pack-priv FindObjectByType finder

Constructor Detail

FindObjectByTypeCleanupThunkback to summary
pack-priv FindObjectByTypeCleanupThunk(FindObjectByType finder)

Method Detail

heapIterationCompleteback to summary
public void heapIterationComplete()

Implements sun.jvm.hotspot.HSDB.CleanupThunk.heapIterationComplete.

sun.jvm.hotspot back to summary

pack-priv Class HSDB.HeapProgress

extends Object
implements HeapProgressThunk
Class Inheritance
All Implemented Interfaces
sun.jvm.hotspot.utilities.HeapProgressThunk

Field Summary

Modifier and TypeField and Description
private ProgressBarPanel
private HSDB.CleanupThunk
private JInternalFrame
private String
private String

Constructor Summary

AccessConstructor and Description
pack-priv
HeapProgress(String windowTitle)

pack-priv
HeapProgress(String windowTitle, String progressBarTitle)

pack-priv
HeapProgress(String windowTitle, String progressBarTitle, HSDB.CleanupThunk cleanup)

Method Summary

Modifier and TypeMethod and Description
public void
heapIterationComplete()

Implements sun.jvm.hotspot.utilities.HeapProgressThunk.heapIterationComplete.

Will be called after the iteration is complete.

public void
heapIterationFractionUpdate(final double fractionOfHeapVisited)

Implements sun.jvm.hotspot.utilities.HeapProgressThunk.heapIterationFractionUpdate.

Will be called periodically with a number between 0 and 1.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

barback to summary
private ProgressBarPanel bar
cleanupback to summary
private HSDB.CleanupThunk cleanup
frameback to summary
private JInternalFrame frame
progressBarTitleback to summary
private String progressBarTitle
windowTitleback to summary
private String windowTitle

Constructor Detail

HeapProgressback to summary
pack-priv HeapProgress(String windowTitle)
HeapProgressback to summary
pack-priv HeapProgress(String windowTitle, String progressBarTitle)
HeapProgressback to summary
pack-priv HeapProgress(String windowTitle, String progressBarTitle, HSDB.CleanupThunk cleanup)

Method Detail

heapIterationCompleteback to summary
public void heapIterationComplete()

Implements sun.jvm.hotspot.utilities.HeapProgressThunk.heapIterationComplete.

Doc from sun.jvm.hotspot.utilities.HeapProgressThunk.heapIterationComplete.

Will be called after the iteration is complete.

heapIterationFractionUpdateback to summary
public void heapIterationFractionUpdate(final double fractionOfHeapVisited)

Implements sun.jvm.hotspot.utilities.HeapProgressThunk.heapIterationFractionUpdate.

Doc from sun.jvm.hotspot.utilities.HeapProgressThunk.heapIterationFractionUpdate.

Will be called periodically with a number between 0 and 1.

sun.jvm.hotspot back to summary

pack-priv Class HSDB.ObjectHistogramCleanupThunk

extends Object
implements CleanupThunk
Class Inheritance
All Implemented Interfaces
sun.jvm.hotspot.HSDB.CleanupThunk

Field Summary

Modifier and TypeField and Description
pack-priv ObjectHistogram

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
public void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

histoback to summary
pack-priv ObjectHistogram histo

Constructor Detail

ObjectHistogramCleanupThunkback to summary
pack-priv ObjectHistogramCleanupThunk(ObjectHistogram histo)

Method Detail

heapIterationCompleteback to summary
public void heapIterationComplete()

Implements sun.jvm.hotspot.HSDB.CleanupThunk.heapIterationComplete.

sun.jvm.hotspot back to summary

pack-priv Class HSDB.SignalInfo

extends Object
Class Inheritance

Field Summary

Modifier and TypeField and Description
public String
public int

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

sigNameback to summary
public String sigName
sigNumback to summary
public int sigNum

Constructor Detail

SignalInfoback to summary
pack-priv SignalInfo()
sun.jvm.hotspot back to summary

pack-priv abstract Class HSDB.StackWalker

extends Object
implements Runnable
Class Inheritance
All Implemented Interfaces
java.lang.Runnable

Field Summary

Modifier and TypeField and Description
protected AnnotatedMemoryPanel
protected JavaVFrame

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

annoPanelback to summary
protected AnnotatedMemoryPanel annoPanel
vfback to summary
protected JavaVFrame vf

Constructor Detail

StackWalkerback to summary
pack-priv StackWalker(JavaVFrame vf, AnnotatedMemoryPanel annoPanel)
sun.jvm.hotspot back to summary

pack-priv Class HSDB.VisitHeap

extends Object
implements Runnable
Class Inheritance
All Implemented Interfaces
java.lang.Runnable

Field Summary

Modifier and TypeField and Description
pack-priv HeapVisitor

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
public void
run()

Implements java.lang.Runnable.run.

Runs this operation.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

visitorback to summary
pack-priv HeapVisitor visitor

Constructor Detail

VisitHeapback to summary
pack-priv VisitHeap(HeapVisitor visitor)

Method Detail

runback to summary
public void run()

Implements java.lang.Runnable.run.

Doc from java.lang.Runnable.run.

Runs this operation.