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 192057 - Debugging: Step-Backward function (call it time-machine, back-in-time function) ;-)
Summary: Debugging: Step-Backward function (call it time-machine, back-in-time functio...
Status: NEW
Alias: None
Product: php
Classification: Unclassified
Component: Debugger (show other bugs)
Version: 6.x
Hardware: PC Windows XP
: P3 normal with 1 vote (vote)
Assignee: Ondrej Brejla
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-11-17 14:03 UTC by daniela.waranie
Modified: 2017-10-13 14:00 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 daniela.waranie 2010-11-17 14:03:21 UTC
Normally debugging is a straight forward process stepping through a programm execution path in "little steps". Sometime it would be great to step back to last visited point in the code and have the veriable status and stack again.

Due to the limits of debuggers like "xdebug" (for PHP) there is no way to step back.

If netbeans records the history of my steps it would be possible for netbeans to re-run the debugger to a specific step and then pause again.

Example (first, manual debug session):
1) run to breakpoint in file1.php, line 12
2) step into the function a(), file2.php, line 102
3) step over to file2.php, line 103
4) step over to file2.php, line 104
5) step over to file2.php, line 105
6) step out to file1.php, line 13

when hitting "step back", netbeans should run till step 5:
1) run to breakpoint in file1.php, line 12
2) step into the function a(), file2.php, line 102
3) step over to file2.php, line 103
4) step over to file2.php, line 104
5) step over to file2.php, line 105
and then wait for further manual debugging instructions ;-)

I call it the "debugging session history".
For easy navigation a history slider (similar to the google wave history slider) can be helpfull (using a time line analogy).

Additional:
Would be great if in the "Test results"-window on a stacktrace a "debug to this line" option will be added to the existing option "Go to source". This "debug to this line" command should create/load a "debugging session history" with all steps (see stack trace) and the debugger should run to the selected stack trace code point (line).

If you are able to cache all debuggins sessions while running the program path once it would be possible to "step back" without re-running the debugger. Even if the user wants to step forward again by using a different "step" command (differenet to the one used when building the history) a re-run of the debugger is needed.

If you like this very new way of debugging you can create a "unique selling point" for netbeans.
Comment 1 Tomas Mysik 2011-06-03 10:21:08 UTC
Batch reassigning.
Comment 2 Tomas Mysik 2011-06-09 13:21:00 UTC
Reassigning to the module owner.
Comment 3 OndrejBrejla 2011-07-21 14:28:20 UTC
That should be quite complicated...imagine that you are handling database queries, remote calls, etc. during debugging...states of your objects can depend on these "external" things...and even if you have the best history logging tool, results could be different... And problems with web servers...uff.

But what could be implemented more easily is let's say something like "history view"...view, where you can see all the things what you saw during last stop.

But it's a topic for another issue.

I think that this issue will be closed as wontfix soon...
Comment 4 Christian Lenz 2017-10-13 13:59:54 UTC
Didn't test it yet, but this feature will be very very helpful. Visual Studio integrated this feature with IntelliTrace. Would be great to see it in NetBeans for all the languages, which are debuggable.
Comment 5 Christian Lenz 2017-10-13 14:00:46 UTC
Smth similar was mentioned here: http://wiki.netbeans.org/FaqDebugBackup