Reversible PHP Debugger Released
Reversible PHP Debugger Released
Friday, 14 October 2016

Dontbug is a new reverse debugger for PHP that lets you record the execution of PHP scripts, in command line mode or in the browser, and replay the same execution back in a PHP IDE debugger.

Dontbug is used with your normal PHP IDE debugger. It lets you record the execution of PHP scripts (in command line mode or in the browser), then replay the same execution back in your PHP IDE debugger.

What's different is that while you're replaying the script, you can debug running the script forward as normal, or switch to reverse. If you choose the reverse option, you can step backwards, or step over or out backwards. You can also run the script backwards, or run to the cursor backwards.

The demo video below shows the utility in action:

 

 

As you'd expect, Dontbug lets you set line breakpoints - including in the past. You can also inspect PHP variables and the call stack.

Dontbug offers full compatibility with existing PHP IDEs including Netbeans, Eclipse PDT and  PhpStorm, and you don't need to modify the IDE or use any special IDE plugins. 

The developer, Sidharth Kshatriya, says that the package has been designed to need minimal learning:

"Apart from getting familiar with debugging in reverse, you continue using the same debugger as before. When dontbug is put into reverse mode, the buttons on your IDE simply acquire opposite meanings. So step over is now step over backwards."

 

The utility can handle recorded PHP script execution completely even if there are network calls, database calls or any non-deterministic input/output in the PHP code. When such calls occur, and the script is replayed, the script will see the same input/output results from the databases, network calls, calls to rand()/time() etc. as were encountered when the recording was made. The data will not be re-read or written during replay.

Dontbug also lets you record multiple web-server requests/responses. This differs from traditional PHP website debugging which works on a per URL basis.

By using dontbug, you can record multiple webserver requests/responses at once, then debug the consolidated execution trace.

bug

More Information

Dontbug on Github

Longer Demo Video

Related Articles

10,000 Bugs Found - A Milestone for Static Analysis

NetBeans 8.2 - With Lots Of Carets  

Developing with PHP and Eclipse (Indigo)

Eclipse Neon Released

PhpStorm 9 Released

 

To be informed about new articles on I Programmer, sign up for our weekly newsletter,subscribe to the RSS feed and follow us on, Twitter, FacebookGoogle+ or Linkedin

 

Banner


Algorithmic Designs Of Wind-up Toys
19/11/2017

Oh, the joys of being a programmer - you can put your nose into any topic and do something fun. In this case a team of researchers has automated and improved the design of wind-up toys.



Apache Bigtop Adds OpenJDK 8 Support
11/12/2017

Apache has released Bigtop 1.2.1 with support for OpenJDK 8, and a new sandbox feature that lets you run big data pseudo clusters on Docker. Bigtop is an Apache Foundation project that you can use for [ ... ]


More News

 

 
 

 

blog comments powered by Disqus

Last Updated ( Friday, 14 October 2016 )
 
 

   
Banner
RSS feed of news items only
I Programmer News
Copyright © 2017 i-programmer.info. All Rights Reserved.
Joomla! is Free Software released under the GNU/GPL License.