View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0000888||Xdebug||Step Debugging||public||2012-09-28 20:23||2023-08-02 16:45|
|Priority||normal||Severity||feature||Reproducibility||have not tried|
|Summary||0000888: Extend xdebug to support reverse debugging|
Reverse debugging allows you to run a program until there is a problem, then rewind to see why the problem happened. I does this by capturing state information.
Two examples of reverse debuggers are gdb, which has supported it since about 2009, and UndoDB.
Of course there would have to be some protocol extensions to support reverse debugging. Bonus: I don't think any of the competitive languages - Ruby, Python etc, would support this. This is a horrific technical challenge, I know.
|Tags||No tags attached.|
This might be possible, but it is going to take an enormous amount of effort. Don't expect this to happen any time soon :-)
Yep, not expecting it soon. Just wanted to put the thought into your mind.
I expect the gdb team would talk to you. And UndoDB is in Cambridge, UK, so not too far from you I think. If you are interested, I can introduce you. It's proprietary, but I expect they would chat.
I don't think you need to maintain full state at every statement. It's enough to keep it at key points, and then to roll forward from that point to the point at which you are debugging. Just saying. If you were starting to mull the idea.
https://github.com/sidkshatriya/dontbug reverse debugging for PHP.
What about native support?
I started working on this somewhere last year, but then PHP 7 happened and I had to spend a lot of time working on that. I would still like to do this, but I can't particularly say for which version.
I know this would save a lot of work hours in our company alone
Is there anything I can do as a user to help make this happen?
Not sure if this is still in the cards, but I still use PhpED and their debugger for this functionality. Would sure be nice to have it in PhpStorm.
|2012-09-28 20:23||jeffv||New Issue|
|2012-10-01 13:04||derick||Note Added: 0002350|
|2012-10-02 00:29||jeffv||Note Added: 0002355|
|2014-02-27 19:42||derick||Relationship added||related to 0000908|
|2016-10-13 21:57||jeffv||Note Added: 0003720|
|2016-10-17 18:58||reket||Note Added: 0003725|
|2016-12-11 13:00||derick||Relationship replaced||has duplicate 0000908|
|2016-12-11 13:06||derick||Relationship added||has duplicate 0001052|
|2016-12-11 23:30||derick||Note Added: 0004005|
|2016-12-11 23:30||derick||Assigned To||=> derick|
|2016-12-11 23:30||derick||Status||new => acknowledged|
|2017-07-29 15:55||slifin||Note Added: 0004385|
|2018-04-30 17:16||cpriest||Note Added: 0004642|
|2020-03-12 16:43||derick||Category||Feature/Change request => Step Debugging|
|2021-03-17 09:25||derick||Target Version||=> 3.2dev|
|2022-06-06 15:27||derick||Target Version||3.2dev => 3.3dev|
|2023-08-02 16:45||derick||Target Version||3.3dev => 3.4dev|