This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 57441 - Support stepping over statements.
Summary: Support stepping over statements.
Status: CLOSED FIXED
Alias: None
Product: debugger
Classification: Unclassified
Component: Code (show other bugs)
Version: 4.x
Hardware: All All
: P2 blocker (vote)
Assignee: Martin Entlicher
URL:
Keywords: UI
Depends on: 93842
Blocks: 89617
  Show dependency tree
 
Reported: 2005-04-04 17:53 UTC by _ sandipchitale
Modified: 2010-04-29 09:21 UTC (History)
0 users

See Also:
Issue Type: ENHANCEMENT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description _ sandipchitale 2005-04-04 17:53:22 UTC
The JPDA has a notion of code index which is different from line number and is 
more fine grained. Making use of it the debugger should support a notion 
of "Step over statement". This is because sometimes there are multiple 
statements per line of code.

This may require some parsing of the source code on the current line to 
determine the code index of each of the statements on a single line.
Comment 1 Roman Ondruska 2005-05-10 16:39:06 UTC
Yes, another possible enhancement would be expression debugging. 
Comment 2 _ sandipchitale 2005-05-10 18:19:10 UTC
It turns out the Location class of JDPA only has the line numbers and code 
index. The code index does nto necessarily map to statements/expressions. This 
is even more so when the code is optimized. Therefore it may not be possible 
to support Step over statement/expression unless JPDA introduces that support 
in the location class.

Anyhow, it should be possible to support "Step over code index". The user may 
not see any difference though, as the highlight in the editor will stay on the 
same line if the next code index is on the same line. If the editor has an 
ability to show bytecode view also (which I have seen in some Java IDE's as 
well as older C/C++ debuggers/IDEs) this could be useful. The code 
optimization as well as JIT and Hotspot always makes some of this harder.
Comment 3 Martin Entlicher 2007-02-01 17:58:18 UTC
The new kind of step is under development, we need an API review, before it can
be put into trunk. See issue #93842.
The implementation of so-called expression-step is on AST branch in debuggercore
and debuggerjpda modules.
Comment 4 Martin Entlicher 2007-02-09 17:00:11 UTC
The expression-stepping implementation is in trunk now. The code from AST branch
was merged into trunk:

Checking in debuggercore/api/apichanges.xml;
/shared/data/ccvs/repository/debuggercore/api/apichanges.xml,v  <--  apichanges.xml
new revision: 1.7; previous revision: 1.6
done
Checking in debuggercore/api/manifest.mf;
/shared/data/ccvs/repository/debuggercore/api/manifest.mf,v  <--  manifest.mf
new revision: 1.14; previous revision: 1.13
done
Checking in debuggercore/api/src/org/netbeans/api/debugger/ActionsManager.java;
/shared/data/ccvs/repository/debuggercore/api/src/org/netbeans/api/debugger/ActionsManager.java,v
 <--  ActionsManager.java
new revision: 1.22; previous revision: 1.21
done
Checking in
debuggercore/src/org/netbeans/modules/debugger/resources/Bundle.properties;
/shared/data/ccvs/repository/debuggercore/src/org/netbeans/modules/debugger/resources/Bundle.properties,v
 <--  Bundle.properties
new revision: 1.15; previous revision: 1.14
done
Checking in
debuggercore/src/org/netbeans/modules/debugger/resources/CurrentExpression.xml;
/shared/data/ccvs/repository/debuggercore/src/org/netbeans/modules/debugger/resources/CurrentExpression.xml,v
 <--  CurrentExpression.xml
new revision: 1.2; previous revision: 1.1
done
Checking in
debuggercore/src/org/netbeans/modules/debugger/resources/CurrentExpressionLine.xml;
/shared/data/ccvs/repository/debuggercore/src/org/netbeans/modules/debugger/resources/CurrentExpressionLine.xml,v
 <--  CurrentExpressionLine.xml
new revision: 1.2; previous revision: 1.1
done
Checking in debuggercore/src/org/netbeans/modules/debugger/resources/mf-layer.xml;
/shared/data/ccvs/repository/debuggercore/src/org/netbeans/modules/debugger/resources/mf-layer.xml,v
 <--  mf-layer.xml
new revision: 1.77; previous revision: 1.76
done
Checking in
debuggercore/src/org/netbeans/modules/debugger/resources/actions/StepOverOperation.gif;
/shared/data/ccvs/repository/debuggercore/src/org/netbeans/modules/debugger/resources/actions/StepOverOperation.gif,v
 <--  StepOverOperation.gif
new revision: 1.2; previous revision: 1.1
done
Checking in
debuggercore/src/org/netbeans/modules/debugger/resources/actions/StepOverOperation24.gif;
/shared/data/ccvs/repository/debuggercore/src/org/netbeans/modules/debugger/resources/actions/StepOverOperation24.gif,v
 <--  StepOverOperation24.gif
new revision: 1.2; previous revision: 1.1
done
Checking in
debuggercore/src/org/netbeans/modules/debugger/ui/actions/Bundle.properties;
/shared/data/ccvs/repository/debuggercore/src/org/netbeans/modules/debugger/ui/actions/Bundle.properties,v
 <--  Bundle.properties
new revision: 1.13; previous revision: 1.12
done
Checking in
debuggercore/src/org/netbeans/modules/debugger/ui/actions/DebuggerAction.java;
/shared/data/ccvs/repository/debuggercore/src/org/netbeans/modules/debugger/ui/actions/DebuggerAction.java,v
 <--  DebuggerAction.java
new revision: 1.14; previous revision: 1.13
done
Checking in debuggerjpda/arch.xml;
/shared/data/ccvs/repository/debuggerjpda/arch.xml,v  <--  arch.xml
new revision: 1.9; previous revision: 1.8
done
Checking in debuggerjpda/ant/nbproject/project.properties;
/shared/data/ccvs/repository/debuggerjpda/ant/nbproject/project.properties,v 
<--  project.properties
new revision: 1.10; previous revision: 1.9
done
Checking in debuggerjpda/ant/nbproject/project.xml;
/shared/data/ccvs/repository/debuggerjpda/ant/nbproject/project.xml,v  <-- 
project.xml
new revision: 1.22; previous revision: 1.21
done
Checking in debuggerjpda/api/apichanges.xml;
/shared/data/ccvs/repository/debuggerjpda/api/apichanges.xml,v  <--  apichanges.xml
new revision: 1.18; previous revision: 1.17
done
Checking in debuggerjpda/api/manifest.mf;
/shared/data/ccvs/repository/debuggerjpda/api/manifest.mf,v  <--  manifest.mf
new revision: 1.20; previous revision: 1.19
done
Checking in debuggerjpda/api/src/org/netbeans/api/debugger/jpda/CallStackFrame.java;
/shared/data/ccvs/repository/debuggerjpda/api/src/org/netbeans/api/debugger/jpda/CallStackFrame.java,v
 <--  CallStackFrame.java
new revision: 1.10; previous revision: 1.9
done
Checking in debuggerjpda/api/src/org/netbeans/api/debugger/jpda/JPDAStep.java;
/shared/data/ccvs/repository/debuggerjpda/api/src/org/netbeans/api/debugger/jpda/JPDAStep.java,v
 <--  JPDAStep.java
new revision: 1.4; previous revision: 1.3
done
Checking in debuggerjpda/api/src/org/netbeans/api/debugger/jpda/JPDAThread.java;
/shared/data/ccvs/repository/debuggerjpda/api/src/org/netbeans/api/debugger/jpda/JPDAThread.java,v
 <--  JPDAThread.java
new revision: 1.11; previous revision: 1.10
done
Checking in debuggerjpda/api/src/org/netbeans/spi/debugger/jpda/EditorContext.java;
/shared/data/ccvs/repository/debuggerjpda/api/src/org/netbeans/spi/debugger/jpda/EditorContext.java,v
 <--  EditorContext.java
new revision: 1.10; previous revision: 1.9
done
Checking in
debuggerjpda/projects/src/org/netbeans/modules/debugger/jpda/projects/AST2Bytecode.java;
/shared/data/ccvs/repository/debuggerjpda/projects/src/org/netbeans/modules/debugger/jpda/projects/AST2Bytecode.java,v
 <--  AST2Bytecode.java
new revision: 1.2; previous revision: 1.1
done
Checking in
debuggerjpda/projects/src/org/netbeans/modules/debugger/jpda/projects/DebuggerAnnotation.java;
/shared/data/ccvs/repository/debuggerjpda/projects/src/org/netbeans/modules/debugger/jpda/projects/DebuggerAnnotation.java,v
 <--  DebuggerAnnotation.java
new revision: 1.2; previous revision: 1.1
done
Checking in
debuggerjpda/projects/src/org/netbeans/modules/debugger/jpda/projects/EditorContextImpl.java;
/shared/data/ccvs/repository/debuggerjpda/projects/src/org/netbeans/modules/debugger/jpda/projects/EditorContextImpl.java,v
 <--  EditorContextImpl.java
new revision: 1.5; previous revision: 1.4
done
Checking in
debuggerjpda/projects/src/org/netbeans/modules/debugger/jpda/projects/ExpressionScanner.java;
/shared/data/ccvs/repository/debuggerjpda/projects/src/org/netbeans/modules/debugger/jpda/projects/ExpressionScanner.java,v
 <--  ExpressionScanner.java
new revision: 1.2; previous revision: 1.1
done
Checking in
debuggerjpda/projects/src/org/netbeans/modules/debugger/jpda/projects/ToolTipAnnotation.java;
/shared/data/ccvs/repository/debuggerjpda/projects/src/org/netbeans/modules/debugger/jpda/projects/ToolTipAnnotation.java,v
 <--  ToolTipAnnotation.java
new revision: 1.5; previous revision: 1.4
done
Checking in
debuggerjpda/src/META-INF/debugger/netbeans-JPDASession/org.netbeans.spi.debugger.ActionsProvider;
/shared/data/ccvs/repository/debuggerjpda/src/META-INF/debugger/netbeans-JPDASession/org.netbeans.spi.debugger.ActionsProvider,v
 <--  org.netbeans.spi.debugger.ActionsProvider
new revision: 1.5; previous revision: 1.4
done
Checking in
debuggerjpda/src/org/netbeans/modules/debugger/jpda/EditorContextBridge.java;
/shared/data/ccvs/repository/debuggerjpda/src/org/netbeans/modules/debugger/jpda/EditorContextBridge.java,v
 <--  EditorContextBridge.java
new revision: 1.9; previous revision: 1.8
done
Checking in debuggerjpda/src/org/netbeans/modules/debugger/jpda/ExpressionPool.java;
/shared/data/ccvs/repository/debuggerjpda/src/org/netbeans/modules/debugger/jpda/ExpressionPool.java,v
 <--  ExpressionPool.java
new revision: 1.2; previous revision: 1.1
done
Checking in
debuggerjpda/src/org/netbeans/modules/debugger/jpda/JPDADebuggerImpl.java;
/shared/data/ccvs/repository/debuggerjpda/src/org/netbeans/modules/debugger/jpda/JPDADebuggerImpl.java,v
 <--  JPDADebuggerImpl.java
new revision: 1.112; previous revision: 1.111
done
Checking in debuggerjpda/src/org/netbeans/modules/debugger/jpda/JPDAStepImpl.java;
/shared/data/ccvs/repository/debuggerjpda/src/org/netbeans/modules/debugger/jpda/JPDAStepImpl.java,v
 <--  JPDAStepImpl.java
new revision: 1.5; previous revision: 1.4
done
Checking in debuggerjpda/src/org/netbeans/modules/debugger/jpda/SourcePath.java;
/shared/data/ccvs/repository/debuggerjpda/src/org/netbeans/modules/debugger/jpda/SourcePath.java,v
 <--  SourcePath.java
new revision: 1.8; previous revision: 1.7
done
Checking in
debuggerjpda/src/org/netbeans/modules/debugger/jpda/actions/StepActionProvider.java;
/shared/data/ccvs/repository/debuggerjpda/src/org/netbeans/modules/debugger/jpda/actions/StepActionProvider.java,v
 <--  StepActionProvider.java
new revision: 1.33; previous revision: 1.32
done
Checking in
debuggerjpda/src/org/netbeans/modules/debugger/jpda/actions/StepIntoActionProvider.java;
/shared/data/ccvs/repository/debuggerjpda/src/org/netbeans/modules/debugger/jpda/actions/StepIntoActionProvider.java,v
 <--  StepIntoActionProvider.java
new revision: 1.31; previous revision: 1.30
done
Checking in
debuggerjpda/src/org/netbeans/modules/debugger/jpda/actions/StepOperationActionProvider.java;
/shared/data/ccvs/repository/debuggerjpda/src/org/netbeans/modules/debugger/jpda/actions/StepOperationActionProvider.java,v
 <--  StepOperationActionProvider.java
new revision: 1.2; previous revision: 1.1
done
Checking in
debuggerjpda/src/org/netbeans/modules/debugger/jpda/breakpoints/ClassBasedBreakpoint.java;
/shared/data/ccvs/repository/debuggerjpda/src/org/netbeans/modules/debugger/jpda/breakpoints/ClassBasedBreakpoint.java,v
 <--  ClassBasedBreakpoint.java
new revision: 1.18; previous revision: 1.17
done
Checking in
debuggerjpda/src/org/netbeans/modules/debugger/jpda/breakpoints/MethodBreakpointImpl.java;
/shared/data/ccvs/repository/debuggerjpda/src/org/netbeans/modules/debugger/jpda/breakpoints/MethodBreakpointImpl.java,v
 <--  MethodBreakpointImpl.java
new revision: 1.16; previous revision: 1.15
done
Checking in
debuggerjpda/src/org/netbeans/modules/debugger/jpda/models/CallStackFrameImpl.java;
/shared/data/ccvs/repository/debuggerjpda/src/org/netbeans/modules/debugger/jpda/models/CallStackFrameImpl.java,v
 <--  CallStackFrameImpl.java
new revision: 1.22; previous revision: 1.21
done
Checking in
debuggerjpda/src/org/netbeans/modules/debugger/jpda/models/JPDAThreadImpl.java;
/shared/data/ccvs/repository/debuggerjpda/src/org/netbeans/modules/debugger/jpda/models/JPDAThreadImpl.java,v
 <--  JPDAThreadImpl.java
new revision: 1.22; previous revision: 1.21
done
Checking in
debuggerjpda/src/org/netbeans/modules/debugger/jpda/models/LocalsTreeModel.java;
/shared/data/ccvs/repository/debuggerjpda/src/org/netbeans/modules/debugger/jpda/models/LocalsTreeModel.java,v
 <--  LocalsTreeModel.java
new revision: 1.40; previous revision: 1.39
done
Checking in
debuggerjpda/src/org/netbeans/modules/debugger/jpda/models/ReturnVariableImpl.java;
/shared/data/ccvs/repository/debuggerjpda/src/org/netbeans/modules/debugger/jpda/models/ReturnVariableImpl.java,v
 <--  ReturnVariableImpl.java
new revision: 1.3; previous revision: 1.2
done
Checking in
debuggerjpda/src/org/netbeans/modules/debugger/jpda/models/ThisVariable.java;
/shared/data/ccvs/repository/debuggerjpda/src/org/netbeans/modules/debugger/jpda/models/ThisVariable.java,v
 <--  ThisVariable.java
new revision: 1.8; previous revision: 1.7
done
Checking in
debuggerjpda/test/unit/src/org/netbeans/api/debugger/jpda/ExpressionStepTest.java;
/shared/data/ccvs/repository/debuggerjpda/test/unit/src/org/netbeans/api/debugger/jpda/ExpressionStepTest.java,v
 <--  ExpressionStepTest.java
new revision: 1.2; previous revision: 1.1
done
Checking in
debuggerjpda/test/unit/src/org/netbeans/api/debugger/jpda/test/TestContextProvider.java;
/shared/data/ccvs/repository/debuggerjpda/test/unit/src/org/netbeans/api/debugger/jpda/test/TestContextProvider.java,v
 <--  TestContextProvider.java
new revision: 1.13; previous revision: 1.12
done
Checking in
debuggerjpda/test/unit/src/org/netbeans/api/debugger/jpda/test/TestEngineContextProvider.java;
/shared/data/ccvs/repository/debuggerjpda/test/unit/src/org/netbeans/api/debugger/jpda/test/TestEngineContextProvider.java,v
 <--  TestEngineContextProvider.java
new revision: 1.12; previous revision: 1.11
done
Checking in
debuggerjpda/test/unit/src/org/netbeans/api/debugger/jpda/testapps/ExpressionStepApp.java;
/shared/data/ccvs/repository/debuggerjpda/test/unit/src/org/netbeans/api/debugger/jpda/testapps/ExpressionStepApp.java,v
 <--  ExpressionStepApp.java
new revision: 1.2; previous revision: 1.1
done
Checking in debuggerjpda/ui/nbproject/project.xml;
/shared/data/ccvs/repository/debuggerjpda/ui/nbproject/project.xml,v  <-- 
project.xml
new revision: 1.17; previous revision: 1.16
done
Checking in
debuggerjpda/ui/src/META-INF/debugger/netbeans-JPDASession/org.netbeans.spi.debugger.ActionsProvider;
/shared/data/ccvs/repository/debuggerjpda/ui/src/META-INF/debugger/netbeans-JPDASession/org.netbeans.spi.debugger.ActionsProvider,v
 <--  org.netbeans.spi.debugger.ActionsProvider
new revision: 1.5; previous revision: 1.4
done
Checking in
debuggerjpda/ui/src/org/netbeans/modules/debugger/jpda/resources/mf-layer.xml;
/shared/data/ccvs/repository/debuggerjpda/ui/src/org/netbeans/modules/debugger/jpda/resources/mf-layer.xml,v
 <--  mf-layer.xml
new revision: 1.35; previous revision: 1.34
done
Checking in
debuggerjpda/ui/src/org/netbeans/modules/debugger/jpda/ui/EditorContextBridge.java;
/shared/data/ccvs/repository/debuggerjpda/ui/src/org/netbeans/modules/debugger/jpda/ui/EditorContextBridge.java,v
 <--  EditorContextBridge.java
new revision: 1.12; previous revision: 1.11
done
Checking in
debuggerjpda/ui/src/org/netbeans/modules/debugger/jpda/ui/SourcePath.java;
/shared/data/ccvs/repository/debuggerjpda/ui/src/org/netbeans/modules/debugger/jpda/ui/SourcePath.java,v
 <--  SourcePath.java
new revision: 1.8; previous revision: 1.7
done
Checking in
debuggerjpda/ui/src/org/netbeans/modules/debugger/jpda/ui/models/Bundle.properties;
/shared/data/ccvs/repository/debuggerjpda/ui/src/org/netbeans/modules/debugger/jpda/ui/models/Bundle.properties,v
 <--  Bundle.properties
new revision: 1.36; previous revision: 1.35
done
Checking in
debuggerjpda/ui/src/org/netbeans/modules/debugger/jpda/ui/models/VariablesNodeModel.java;
/shared/data/ccvs/repository/debuggerjpda/ui/src/org/netbeans/modules/debugger/jpda/ui/models/VariablesNodeModel.java,v
 <--  VariablesNodeModel.java
new revision: 1.14; previous revision: 1.13
done
Checking in
debuggerjpda/ui/src/org/netbeans/modules/debugger/jpda/ui/models/VariablesTableModel.java;
/shared/data/ccvs/repository/debuggerjpda/ui/src/org/netbeans/modules/debugger/jpda/ui/models/VariablesTableModel.java,v
 <--  VariablesTableModel.java
new revision: 1.18; previous revision: 1.17
done
Comment 5 Quality Engineering 2010-04-29 09:21:54 UTC
Verified ... and Closing all issues resolved into NetBeans 6.7 and earlier.