5.0 debugger more sophisticated (jump backwards)?
A very nice feature of Visual Basic debugging is, that you can drag the pointer that point to the current line of code backwards (and forwards). This way you can re-execute some line of codes during debugging with changed (temporarily fixed variable values) code just by dragging the debug pointer with the mouse to another code location.
I haven't seen this feature in a Java IDE, I guess this feature is not offered through the Java debugging API. As 5.0 introduces some improvements to this API I wonder if it also offers this "back stepping" in code?
Adjusting the program counter/byte code index to an arbitrary
location is a non-trivial problem because you must also preserve
the integrity of the expression stack and the semantics of the
runtime execution environment (type safety, verification, and
so on...).
> I haven't seen this feature in a Java IDE, I guess
> this feature is not offered through the Java debugging
> API.
The current JDI implementations offer PopFrame which
pops frame(s) off the stack. So you can pop out of the leaf
method back to the caller and then re-enter the method.
>As 5.0 introduces some improvements to this API
PopFrame was added in 1.4 and was not changed in 5.0
(aside from bug fixes...)
Here is a summary of the JPDA Enhancements in 5.0:
http://java.sun.com/j2se/1.5.0/docs/guide/jpda/enhancements.html
> I wonder if it also offers this "back stepping" in code?
This capability is the subject of Bug-ID 4059717
Synopsis: "JPDA: Want to be able to set program counter in debugger"
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4059717