alanwilliamson

We've got this beautifully rich, easy to use language, yet we cripple ourselves by the shocking lack of great tools to help us develop. cfEclipse was a major step forward in terms of a fully integrated editor, but it stops short of being a full IDE. When it comes to debugging a live running page, the vast majority of us still resort to the classic "CFDUMP » CFABORT" combination.

Watching our new hires struggle with CFLOG/CFMAIL to see the state of their variables, I thought to myself, "it shouldn't be this hard". This was on a Friday. By the following Monday I had a working prototype of a debugger in their hands. As I showed this to more people, I got a lot of feedback and today I am proud to release it to a wider community.

The goal was simple — don't make it complicated to setup or to use. Work how CFML developers already think.

To that end, I developed it as a OpenBD Plugin, that simply drops into the WEB-INF/lib/ folder of your server. Restart, and that is you now enabled for debugging. Remove the JAR and it is disabled. Couldn't really ask for any easier for installation eh?

To use the debugger, you simply point your browser to http://127.0.0.1/openbddebugger/ which opens up a complete web based debugging environment. No additional tools, no awkard settings, just point and fire.

From here you can do many wonderful things through the wonders of the humble browser:

Multiple request session tracking

Set break points in any CFML page, custom tag or CFC by simply clicking on any line

Everyone that has used it thus far, it has already sped up their development dramatically and has made finding deep rooted bugs an absolute breeze. One developer couldn't get over the window she was presented with when her CFML app threw an exception and just before it went into the CFCATCH she could see exactly the state of affairs and correct immediately. Another kept asking "is that it? no more setup?". It really is that easy.

Take a moment and have a look at the OpenBD Debugger in action in this YouTube video:

Some people are reporting the video is marked private; its not.YouTube hasn't updated all their servers yet i guess.