|
org.netbeans.api.debugger.jpda/2 2.13 | |||||||||
PREV NEXT | FRAMES NO FRAMES |
See:
Description
JPDA Debugger API | |
---|---|
org.netbeans.api.debugger.jpda | JPDA Debugger APIs provide representation of JDI functionality. |
org.netbeans.api.debugger.jpda.event | |
org.netbeans.spi.debugger.jpda | JPDA Debugger SPIs defines support for Smart Stepping, Variables Filterring and filterring of all Debugger Views. |
The JPDA Debugger API module defines common API for Java debuggers.
List of APIs:
In order to implement annotation of method breakpoints in Editor, we need to be able to locate individual methods in Editor, based on their names and signature. Also we need annotation types for fields and methods.
Added methods:
EditorContext.getMethodLineNumber()
,
EditorContext.getCurrentMethodDeclaration()
,
Added fields:
EditorContext.FIELD_BREAKPOINT_ANNOTATION_TYPE
,
EditorContext.DISABLED_FIELD_BREAKPOINT_ANNOTATION_TYPE
,
EditorContext.METHOD_BREAKPOINT_ANNOTATION_TYPE
EditorContext.DISABLED_METHOD_BREAKPOINT_ANNOTATION_TYPE
To catch-up with JDI capabilities and be able to implement new enhancements,
we need to add support for new breakpoint properties into the debugger JPDA API.
These are mainly class and thread filters and hit counts.
Added methods:
ExceptionBreakpoint.getClassFilters()
,
ExceptionBreakpoint.setClassFilters()
,
ExceptionBreakpoint.getClassExclusionFilters()
,
ExceptionBreakpoint.setClassExclusionFilters()
,
FieldBreakpoint.getInstanceFilters()
,
FieldBreakpoint.setInstanceFilters()
,
FieldBreakpoint.getThreadFilters()
,
FieldBreakpoint.setThreadFilters()
,
JPDABreakpoint.getHitCountFilter()
,
JPDABreakpoint.getHitCountFilteringStyle()
,
JPDABreakpoint.setHitCountFilter()
,
LineBreakpoint.getInstanceFilters()
,
LineBreakpoint.setInstanceFilters()
,
LineBreakpoint.getThreadFilters()
,
LineBreakpoint.setThreadFilters()
,
MethodBreakpoint.getMethodSignature()
,
MethodBreakpoint.setMethodSignature()
,
MethodBreakpoint.getInstanceFilters()
,
MethodBreakpoint.setInstanceFilters()
,
MethodBreakpoint.getThreadFilters()
,
MethodBreakpoint.setThreadFilters()
.
Added fields:
ExceptionBreakpoint.PROP_CLASS_FILTERS
,
ExceptionBreakpoint.PROP_CLASS_EXCLUSION_FILTERS
,
FieldBreakpoint.PROP_INSTANCE_FILTERS
,
FieldBreakpoint.PROP_THREAD_FILTERS
,
JPDABreakpoint.PROP_HIT_COUNT_FILTER
,
JPDABreakpoint.HIT_COUNT_FILTERING_STYLE
,
LineBreakpoint.PROP_INSTANCE_FILTERS
,
LineBreakpoint.PROP_THREAD_FILTERS
,
MethodBreakpoint.PROP_METHOD_SIGNATURE
,
MethodBreakpoint.PROP_INSTANCE_FILTERS
,
MethodBreakpoint.PROP_THREAD_FILTERS
.
In order to be able to provide heap walking functionality, we need methods for retrieval of class instances and back references.
Added methods:
Field.getDeclaringClass()
,
JPDAClassType.getClassLoader()
,
JPDAClassType.getSuperClass()
,
JPDAClassType.getInstanceCount()
,
JPDAClassType.getInstances()
,
JPDADebugger.canGetInstanceInfo()
,
JPDADebugger.getAllClasses()
,
JPDADebugger.getClassesByName()
,
JPDADebugger.getInstanceCounts()
,
ObjectVariable.getReferringObjects()
,
ObjectVariable.getClassType()
,
ObjectVariable.getUniqueID()
.
Added classes:
VariableType
,
JPDAArrayType
.
An access to method arguments in source code is necessary for cases where we do not have full debug information.
Added methods:
EditorContext.getArguments()
Added classes:
EditorContext.MethodArgument
In order to be able to provide stepping over operations, we need a representation of an operation and some way how to retrieve the operation(s) from a Thread and a CallStackFrame.
Added fields:
JPDAStep.STEP_OPERATION
,
EditorContext.CURRENT_LAST_OPERATION_ANNOTATION_TYPE
,
EditorContext.CURRENT_EXPRESSION_SECONDARY_LINE_ANNOTATION_TYPE
,
EditorContext.CURRENT_EXPRESSION_CURRENT_LINE_ANNOTATION_TYPE
Added methods:
CallStackFrame.getCurrentOperation()
,
JPDAThread.getCurrentOperation()
,
JPDAThread.getLastOperations()
,
EditorContext.createMethodOperation()
,
EditorContext.addNextOperationTo()
,
EditorContext.createPosition()
,
EditorContext.getOperations()
Added classes:
EditorContext.BytecodeProvider
,
EditorContext.Operation
,
EditorContext.Position
|
|
The sources for the module are in NetBeans CVS in debuggerjpda/api directory.
Read more about the implementation in the answers to architecture questions.
|
org.netbeans.api.debugger.jpda/2 2.13 | |||||||||
PREV NEXT | FRAMES NO FRAMES |