Skip navigation links

Oracle Fusion Middleware Java API Reference for Oracle Extension SDK
11g Release 2 (11.1.2.2.0)

E17493-03


oracle.ide.runner
Class Debugger

java.lang.Object
  extended by oracle.ide.runner.Debugger


public abstract class Debugger
extends java.lang.Object

The Debugger class provides methods that interact with the debugger.


Constructor Summary
Debugger()
           

 

Method Summary
 DebuggerExtenderCallback addDebuggerExtender(DebuggerExtender extender)
          Deprecated. Use addDebuggerExtender(DebuggerExtenderDeclarator) instead
 void addDebuggerExtender(DebuggerExtenderDeclarator extenderDeclarator)
          Programmatically add a DebuggerExtender, which can augment and modify Debugger behavior.
 void addDebuggerListener(DebuggerAdapter debuggerListener)
          Add a DebuggerListener to the debugger The preferred way to add DebuggerListeners is by registering them in the extension.xml file of the extension.
 DebuggerWindowProviderCallback addDebuggerWindowProvider(DebuggerWindowProvider provider)
          Deprecated. Use addDebuggerWindowProvider(DebuggerWindowProviderDeclarator) instead
 void addDebuggerWindowProvider(DebuggerWindowProviderDeclarator declarator)
          Programmatically add a DebuggerWindowProvider, which will provide a custom debugger window.
 void addInspectorExpressionProvider(DebuggerInspectorExpressionProvider expressionProvider)
          Add a DebuggerInspectorExpressionProvider which will be used to make a suitable inspector expression when the user requests an inspect and there is no selection in the editor
 void addObjectPreferencesExpansion(java.lang.String className, java.lang.String expressions, boolean selected)
          Add a string of items to evaluate when expanding objects of a specified class in the debugger.
 void addObjectPreferencesExpression(java.lang.String className, java.lang.String expression, boolean selected)
          Add an expression to evaluate when displaying objects of a specified class in the debugger.
 void addObjectPreferencesHideAllFields(java.lang.String className)
          Add an Object Preferences item indicating that all fields of a class should be hidden when that class is expanded in the debugger.
 void addObjectPreferencesHideField(java.lang.String className, java.lang.String fieldName)
          Add an Object Preferences item indicating that a field of a class should be hidden when that class is expanded in the debugger The preferred way to add Object Preferences hide fields is by registering them in the extension.xml file of the extension: <hooks> <jdeveloper-hook xmlns="http://xmlns.oracle.com/jdeveloper/1013/extension"> <debugger-hook> <object-hide-field class="mytypes.MyType" field="myField" /> </debugger-hook> </jdeveloper-hook> </hooks>
 void addObjectPreferencesIcon(java.lang.String className, java.lang.String iconName)
          Add an Object Preferences item indicating the icon that should be used when a class of a certain name is displayed in the debugger data panes The preferred way to add Object Preferences icons is by registering them in the extension.xml file of the extension: <hooks> <jdeveloper-hook xmlns="http://xmlns.oracle.com/jdeveloper/1013/extension"> <debugger-hook> <object-icon class="mytypes.MyType" icon="/yourcompany/youricons/youricon.png" /> </debugger-hook> </jdeveloper-hook> </hooks>
abstract  void addRunAndDebugToContextMenu(ContextMenu popup, Context context)
           
 void addSmartDataProvider(SmartDataProvider smartDataProvider)
          Add a SmartDataProvider to the debugger The preferred way to add SmartDataProviders is by registering them in the extension.xml file of the extension.
 void addToolTipExpressionProvider(ToolTipExpressionProvider toolTipExpressionProvider)
          Add a ToolTipExpressionProvider to the debugger The preferred way to add ToolTipExpressionProviders is by registering them in the extension.xml file of the extension.
abstract  java.lang.Object evaluateNumericExpression(java.lang.String expression)
          Have the debugger evaluate a numeric expression.
abstract  ContextMenu getContextMenu()
          Returns the ContextMenu that the debugger uses in debugger windows.
static Debugger getDebugger()
          Returns the active Debugger instance.
abstract  javax.swing.JMenu getDebugMenu()
          Returns the Debug menu that the debugger has added to the main menu bar.
 javax.swing.JMenu getViewMenu()
          Returns the View Debugger sub menu if it exists
abstract  boolean isDebugging()
          Returns true if the debugger is currently debugging one or more processes.
abstract  boolean isStackTraceLine(java.lang.String line)
           
abstract  java.net.URL parseStackTraceLine(Workspace workspace, Project project, java.lang.String stackTraceLine)
           
abstract  void redefineClasses(java.util.Map nameToGuts)
          Deprecated.  
abstract  void redefineClasses(Project project, java.util.Map nameToGuts)
          Tells the debugger to redefine some classes that have been recompiled.
 void removeDebuggerExtender(DebuggerExtender extender)
          Remove a previously added DebuggerExtender.
 void removeDebuggerListener(DebuggerAdapter debuggerListener)
          Removes a previously registered DebuggerListener DebuggerListeners registered in a declarative way should not be removed
 void removeDebuggerWindowProvider(DebuggerWindowProvider provider)
          Remove a previously added DebuggerWindowProvider.
 void removeInspectorExpressionProvider(DebuggerInspectorExpressionProvider expressionProvider)
          Remove a previously added DebuggerInspectorExpressionProvider DebuggerInspectorExpressionProviders registered in a declarative way should not be removed
 void removeSmartDataProvider(SmartDataProvider smartDataProvider)
          Removes a previously registered SmartDataProvider SmartDataProviders registered in a declarative way should not be removed
 void removeToolTipExpressionProvider(ToolTipExpressionProvider toolTipExpressionProvider)
          Removes a previously registered ToolTipExpressionProvider ToolTipExpressionProviders registered in a declarative way should not be removed
static void setDebugger(Debugger debugger)
          Deprecated. The Debugger should be registered in a declarative way, such as: <trigger-hooks xmlns="http://xmlns.oracle.com/ide/extension"< <triggers< <singleton-provider-hook< <singleton base-class="oracle.ide.runner.Debugger" impl-class="oracle.jdevimpl.runner.debug.JDebugger" /< </singleton-provider-hook< </triggers< </trigger-hooks<
abstract  boolean showSourceFileForStackTraceLine(Workspace workspace, Project project, java.lang.String stackTraceLine)
           
abstract  boolean showSourceFileForStackTraceLine(Workspace workspace, Project project, java.net.URL urlWithLine)
           
abstract  void startDebugger(Context context, DebuggerStartCallback callBack)
          Start the debugger with the given context with the options of providing a call back at different stages of the starting process

 

Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

 

Constructor Detail

Debugger

public Debugger()

Method Detail

getDebugger

public static Debugger getDebugger()
Returns the active Debugger instance.

setDebugger

@Deprecated
public static void setDebugger(Debugger debugger)
Deprecated. The Debugger should be registered in a declarative way, such as: <trigger-hooks xmlns="http://xmlns.oracle.com/ide/extension"< <triggers< <singleton-provider-hook< <singleton base-class="oracle.ide.runner.Debugger" impl-class="oracle.jdevimpl.runner.debug.JDebugger" /< </singleton-provider-hook< </triggers< </trigger-hooks<
Sets the active Debugger instance.

getDebugMenu

public abstract javax.swing.JMenu getDebugMenu()
Returns the Debug menu that the debugger has added to the main menu bar.
Returns:
the Debug menu

getContextMenu

public abstract ContextMenu getContextMenu()
Returns the ContextMenu that the debugger uses in debugger windows.
Returns:
the debugger context menu

getViewMenu

public javax.swing.JMenu getViewMenu()
Returns the View Debugger sub menu if it exists
Returns:
The View Debugger sub menu or null if it doesn't exist.

isDebugging

public abstract boolean isDebugging()
Returns true if the debugger is currently debugging one or more processes.

startDebugger

public abstract void startDebugger(Context context,
                                   DebuggerStartCallback callBack)
Start the debugger with the given context with the options of providing a call back at different stages of the starting process
Parameters:
context - The context to start the debugger in
callBack - A call back to inform the caller of the progress

redefineClasses

@Deprecated
public abstract void redefineClasses(java.util.Map nameToGuts)
Deprecated. 
Tells the debugger to redefine some classes. Note that the debugger may choose to perform the class redefinition asynchronously. It is not guaranteed that the class redefinition will be finished when this method returns.
Parameters:
nameToGuts - a map where the keys are full class names (String) and the values are the guts of the class file (byte[]).

redefineClasses

public abstract void redefineClasses(Project project,
                                     java.util.Map nameToGuts)
Tells the debugger to redefine some classes that have been recompiled. Note that the debugger may choose to perform the class redefinition asynchronously. It is not guaranteed that the class redefinition will be finished when this method returns.
Parameters:
project - the project that was recompiled
nameToGuts - a map where the keys are full class names (String) and the values are the guts of the class file (byte[]).

isStackTraceLine

public abstract boolean isStackTraceLine(java.lang.String line)

showSourceFileForStackTraceLine

public abstract boolean showSourceFileForStackTraceLine(Workspace workspace,
                                                        Project project,
                                                        java.lang.String stackTraceLine)

parseStackTraceLine

public abstract java.net.URL parseStackTraceLine(Workspace workspace,
                                                 Project project,
                                                 java.lang.String stackTraceLine)

showSourceFileForStackTraceLine

public abstract boolean showSourceFileForStackTraceLine(Workspace workspace,
                                                        Project project,
                                                        java.net.URL urlWithLine)

addSmartDataProvider

public final void addSmartDataProvider(SmartDataProvider smartDataProvider)
Add a SmartDataProvider to the debugger The preferred way to add SmartDataProviders is by registering them in the extension.xml file of the extension. Use the fully qualified name of a class that implements oracle.ide.runner.SmartDataProvider:

<trigger-hooks xmlns="http://xmlns.oracle.com/ide/extension">
<triggers trigger-id="Register_My_SmartDataProvider">
<debugger-hook xmlns="http://xmlns.oracle.com/jdeveloper/1013/extension"> <smart-data-provider class="mypackage.MySmartDataProvider" /> </debugger-hook> </triggers>
</trigger-hooks>

Parameters:
smartDataProvider - - The SmartDataProvider

removeSmartDataProvider

public final void removeSmartDataProvider(SmartDataProvider smartDataProvider)
Removes a previously registered SmartDataProvider SmartDataProviders registered in a declarative way should not be removed
Parameters:
smartDataProvider - - The SmartDataProvider

addToolTipExpressionProvider

public final void addToolTipExpressionProvider(ToolTipExpressionProvider toolTipExpressionProvider)
Add a ToolTipExpressionProvider to the debugger The preferred way to add ToolTipExpressionProviders is by registering them in the extension.xml file of the extension. Use the fully qualified name of a class that implements oracle.ide.runner.ToolTipExpressionProvider:

<trigger-hooks xmlns="http://xmlns.oracle.com/ide/extension">
<triggers trigger-id="Register_My_ToolTipExpressionProvider">
<debugger-hook xmlns="http://xmlns.oracle.com/jdeveloper/1013/extension"> <tooltip-expression-provider class="mypackage.MyToolTipExpressionProvider" /> </debugger-hook> </triggers>
</trigger-hooks>

Parameters:
toolTipExpressionProvider - - The ToolTipExpressionProvider

removeToolTipExpressionProvider

public final void removeToolTipExpressionProvider(ToolTipExpressionProvider toolTipExpressionProvider)
Removes a previously registered ToolTipExpressionProvider ToolTipExpressionProviders registered in a declarative way should not be removed
Parameters:
toolTipExpressionProvider - - The ToolTipExpressionProvider

addRunAndDebugToContextMenu

public abstract void addRunAndDebugToContextMenu(ContextMenu popup,
                                                 Context context)
Parameters:
popup - The popup to add run/debug menu to
context - The context

addDebuggerListener

public final void addDebuggerListener(DebuggerAdapter debuggerListener)
Add a DebuggerListener to the debugger The preferred way to add DebuggerListeners is by registering them in the extension.xml file of the extension. Use the fully qualified name of a class that implements oracle.ide.runner.DebuggerListener:

<trigger-hooks xmlns="http://xmlns.oracle.com/ide/extension">
<triggers trigger-id="Register_My_DebuggerListener">
<debugger-hook xmlns="http://xmlns.oracle.com/jdeveloper/1013/extension"> <debugger-listener class="mypackage.MyDebuggerListener" /> </debugger-hook> </triggers>
</trigger-hooks>

Parameters:
debuggerListener - - The DebuggerListener

removeDebuggerListener

public final void removeDebuggerListener(DebuggerAdapter debuggerListener)
Removes a previously registered DebuggerListener DebuggerListeners registered in a declarative way should not be removed
Parameters:
debuggerListener - - The DebuggerListener

evaluateNumericExpression

public abstract java.lang.Object evaluateNumericExpression(java.lang.String expression)
Have the debugger evaluate a numeric expression. returns a wrapper object (Boolean, Byte, Character, Double, Float, Int, Short, or Long) returns null if the expression is invalid or can not be evaluated.

addDebuggerWindowProvider

@Deprecated
public DebuggerWindowProviderCallback addDebuggerWindowProvider(DebuggerWindowProvider provider)
Deprecated. Use addDebuggerWindowProvider(DebuggerWindowProviderDeclarator) instead
Programmatically add a DebuggerWindowProvider, which will provide a custom debugger window
Parameters:
provider - A DebuggerWindowProvider which should not be null
Returns:
a valid DebuggerWindowProviderCallback if the provider was successfully added, null otherwise

addDebuggerWindowProvider

public void addDebuggerWindowProvider(DebuggerWindowProviderDeclarator declarator)
Programmatically add a DebuggerWindowProvider, which will provide a custom debugger window. Note: after the debugger calls setDebuggerWindowProviderCallback on the incoming DebuggerWindowProviderDeclarator, the DebuggerWindowProvider should be prepared to handle any call on the just registered DebuggerWindowProvider, possibly during this addDebuggerWindowProvider call. The preferred declarative way to register a DebuggerWindowProvider is:
In an extension.xml file, add the registration as follows:
Use a fully qualified class name of an implementation of oracle.ide.runner.DebuggerWindowProviderDeclarator for the 'class' attribute
Add a <trigger-hooks> section or use the existing one
Add a <triggers> section or use the existing one
Add a <debugger-hook> section or use the existing one

<trigger-hooks xmlns="http://xmlns.oracle.com/ide/extension"> <triggers trigger-id="Register_Debugger_Window_Provider"> <debugger-hook xmlns="http://xmlns.oracle.com/jdeveloper/1013/extension">
<debugger-window-provider class="my.company.DebuggerWindowProviderDeclarator" />
</debugger-hook>
</triggers>
</trigger-hooks>
Parameters:
declarator - A DebuggerWindowProviderDeclarator which should not be null

removeDebuggerWindowProvider

public void removeDebuggerWindowProvider(DebuggerWindowProvider provider)
Remove a previously added DebuggerWindowProvider.
Parameters:
provider - A DebuggerWindowProvider which should not be null

addDebuggerExtender

@Deprecated
public DebuggerExtenderCallback addDebuggerExtender(DebuggerExtender extender)
Deprecated. Use addDebuggerExtender(DebuggerExtenderDeclarator) instead
Add a DebuggerExtender, which can augment and modify Debugger behavior
Parameters:
extender - A DebuggerExtender which should not be null
Returns:
A valid DebuggerExtenderCallback if the extender was successfully added, null otherwise

addDebuggerExtender

public void addDebuggerExtender(DebuggerExtenderDeclarator extenderDeclarator)
Programmatically add a DebuggerExtender, which can augment and modify Debugger behavior. Note: after the debugger calls setDebuggerExtenderCallback on the incoming DebuggerExtenderDeclarator, the DebuggerExtender should be prepared to handle any call on the just registered DebuggerExtender, possibly during this addDebuggerExtender call. This enables the debugger to tell the DebuggerExtender about any existing breakpoints during this DebuggerExtender registration call. The preferred declarative way to register a DebuggerExtender is:
In an extension.xml file, add the registration as follows:
Use a fully qualified class name of an implementation of oracle.ide.runner.DebuggerExtenderDeclarator for the 'class' attribute
Use the ID of the DebuggerExtender for the 'id' attribute
Add a <hooks> section or use the existing one
Add a <jdeveloper-hook> section or use the existing one

<hooks>
<jdeveloper-hook xmlns="http://xmlns.oracle.com/jdeveloper/1013/extension">
<debugger-hook>
<debugger-extender class="my.company.DebuggerExtenderDeclarator"
debugger-extender-id="MyDebuggerExtenderID" />
</debugger-hook>
</jdeveloper-hook>
</hooks>

Parameters:
extenderDeclarator - A DebuggerExtenderDeclarator which should not be null

removeDebuggerExtender

public void removeDebuggerExtender(DebuggerExtender extender)
Remove a previously added DebuggerExtender.
Parameters:
extender - A DebuggerExtender which should not be null

addObjectPreferencesExpression

public final void addObjectPreferencesExpression(java.lang.String className,
                                                 java.lang.String expression,
                                                 boolean selected)
Add an expression to evaluate when displaying objects of a specified class in the debugger. The preferred way to add Object Preferences expressions is by registering them in the extension.xml file of the extension: <hooks> <jdeveloper-hook xmlns="http://xmlns.oracle.com/jdeveloper/1013/extension"> <debugger-hook> <object-expression class="mytypes.MyType" expression="getValue()" selected="true" /> </debugger-hook> </jdeveloper-hook> </hooks>
Parameters:
className - the fully qualified name of a class for which to add an expression.
expression - the expression to evaluate.
selected - whether the expression is selected by default. If false, the expression is available as one of the selectable expressions for the className in the object preferences dialog.

addObjectPreferencesExpansion

public final void addObjectPreferencesExpansion(java.lang.String className,
                                                java.lang.String expressions,
                                                boolean selected)
Add a string of items to evaluate when expanding objects of a specified class in the debugger. Item separator is ';'. The preferred way to add Object Preferences expansions is by registering them in the extension.xml file of the extension: <hooks> <jdeveloper-hook xmlns="http://xmlns.oracle.com/jdeveloper/1013/extension"> <debugger-hook> <object-expansion class="mytypes.MyType" expressions="getFields()" selected="true" /> </debugger-hook> </jdeveloper-hook> </hooks>
Parameters:
className - the fully qualified name of a class to add an expression for.
expressions - the string of items to evaluate.
selected - whether the expansion is selected by default. If false, the expansion is available as one of the selectable expansions for the className in the object preferences dialog.

addObjectPreferencesHideAllFields

public final void addObjectPreferencesHideAllFields(java.lang.String className)
Add an Object Preferences item indicating that all fields of a class should be hidden when that class is expanded in the debugger. The preferred way to add Object Preferences hide all fields is by registering them in the extension.xml file of the extension: <hooks> <jdeveloper-hook xmlns="http://xmlns.oracle.com/jdeveloper/1013/extension"> <debugger-hook> <object-hide-all-fields class="mytypes.MyType" /> </debugger-hook> </jdeveloper-hook> </hooks>
Parameters:
className - the fully qualified name of a class

addObjectPreferencesHideField

public final void addObjectPreferencesHideField(java.lang.String className,
                                                java.lang.String fieldName)
Add an Object Preferences item indicating that a field of a class should be hidden when that class is expanded in the debugger The preferred way to add Object Preferences hide fields is by registering them in the extension.xml file of the extension: <hooks> <jdeveloper-hook xmlns="http://xmlns.oracle.com/jdeveloper/1013/extension"> <debugger-hook> <object-hide-field class="mytypes.MyType" field="myField" /> </debugger-hook> </jdeveloper-hook> </hooks>
Parameters:
className - the fully qualified name of a class
fieldName - the name of a field of that class

addObjectPreferencesIcon

public final void addObjectPreferencesIcon(java.lang.String className,
                                           java.lang.String iconName)
Add an Object Preferences item indicating the icon that should be used when a class of a certain name is displayed in the debugger data panes The preferred way to add Object Preferences icons is by registering them in the extension.xml file of the extension: <hooks> <jdeveloper-hook xmlns="http://xmlns.oracle.com/jdeveloper/1013/extension"> <debugger-hook> <object-icon class="mytypes.MyType" icon="/yourcompany/youricons/youricon.png" /> </debugger-hook> </jdeveloper-hook> </hooks>
Parameters:
className - the fully qualified name of a class
iconName - the name of an icon such as "${OracleIcons.QUICK_NAV}" or "/oracle/jdevimpl/runner/debug/images/verifiedbreakpoint.png"

addInspectorExpressionProvider

public final void addInspectorExpressionProvider(DebuggerInspectorExpressionProvider expressionProvider)
Add a DebuggerInspectorExpressionProvider which will be used to make a suitable inspector expression when the user requests an inspect and there is no selection in the editor
Parameters:
expressionProvider - A DebuggerInspectorExpressionProvider which should not be null The preferred way to add DebuggerInspectorExpressionProviders is by registering them in the extension.xml file of the extension. Use the fully qualified name of a class that implements oracle.ide.runner.DebuggerInspectorExpressionProvider:

<trigger-hooks xmlns="http://xmlns.oracle.com/ide/extension">
<triggers trigger->
<debugger-hook xmlns="http://xmlns.oracle.com/jdeveloper/1013/extension"> <inspector-expression-provider class="mypackage.MyDebuggerInspectorExpressionProvider" /> </debugger-hook> </triggers>
</trigger-hooks>


removeInspectorExpressionProvider

public final void removeInspectorExpressionProvider(DebuggerInspectorExpressionProvider expressionProvider)
Remove a previously added DebuggerInspectorExpressionProvider DebuggerInspectorExpressionProviders registered in a declarative way should not be removed
Parameters:
expressionProvider - A DebuggerInspectorExpressionProvider which should not be null

Skip navigation links

Oracle Fusion Middleware Java API Reference for Oracle Extension SDK
11g Release 2 (11.1.2.2.0)

E17493-03


Copyright © 1997, 2012, Oracle. All rights reserved.