A Flash Based Coldfusion Debugger

For better or for worse I'm a mac user. One of things I thought was kind of neat while using a PC at work was the dockable debug pane for debugging Coldfusion. Unfortunately it doesn't work in Safari or Firefox, so when I switched (back) over to a Mac at work I was stuck with "Classic" debugging.

I rarely seem to use the Coldfusion debugger anymore, and I didn't really use it that much to begin with. Mainly because it gets in the way and disrupts the formatting of the HTML. When I do need some additional debugging info I can usually get it faster by inserting a cfdump or someother temporary output right in my code, rather than opening Coldfusion Administrator, logging in, turning on debugging, and rerequesting my page.

I was thinking about how the "dockable" debugger doesn't work on my mac, and how disruptive to the page the classic debugger is when it occured to me I should write my own. The debug layout code used by Coldfusion is unencrypted, and pretty well commented so it isn't that difficult to make a change or extend. I had previously made a modified version of the classic debugger, to solve a problem with the display of arguments passed to cfc functions when the arguments contain a html string.

So I made one. It works, but is by no means complete. It's more of a proof of concept, a code sketch. I made it using Flash, I needed some more AS 2.0 component experience anyway. It uses two flash movies, one on the page being debugged and one that opens in a pop-up window. The two flash movies communicate between each other using LocalConnection. As for the data I am reusing the xml data that Coldfusion generates for debugging in Dreamweaver, and passing that into the flash movie on the page being debugged as a FlashVar.

The result is a Flash based Coldfusion Debugger, capable of holding the debug data from multiple pages. Unfortunately, at this point it is a bit too slow to be useful (on my mac at least) and it runs into trouble with same sort of problem I previously had to revise the "Classic" debugger for. But it is a start.

I suspect that the speed issues are due to my over reliance on DataGrid rather than designing a proper layout, and the fact I'm reparsing and repopulating the DataGrids' dataProviders everytime I load coldfusion page. I also think that the format of the XML could be different, or at a minimum less work for Flash to consume. So there are improvements to be made.

Feel free to have a look at where I am so far with it. Let me know what you think, and if it's worth developing further.

You can download it here: http://blog.onepixeloff.com/files/cfdebug/flash-CFDebugger-01.zip

TrackBacks
There are no trackbacks for this entry.

Trackback URL for this entry:
http://blog.onepixeloff.com/trackback.cfm?A3D5EDED-F2C7-FD81-F94E16C3D83F394C

Comments
Tak's Gravatar Clayton, the link to your debugger no longer works. Do you have a copy available to look at?

Thanks,
Keith
# Posted By Tak | 5/8/07 9:27 AM
Clayton Partridge's Gravatar Sorry about that. When I changed domains I didn't update the link, it should be:
http://blog.onepixeloff.com/files/cfdebug/flash-CF...

I wouldn't recommend using my flash based debugger though (unless you are just interested in seeing how I did it), it was really just a proof of concept. There is a lot of functionality missing.

Instead I strongly recommend using coldfire: http://coldfire.riaforge.org/
Coldfire accomplishes the same things I set out to do, but better :).
# Posted By Clayton Partridge | 5/8/07 10:15 AM
BlogCFC was created by Raymond Camden. This blog is running version 5.5.003.