1001 Ways to Debug in Flash

I have checked out something like over 1000 different ways (number inflated for more drama) to debug Flash content within the browser and picked out the following 4 decent tools:

SOS looked sweet for a moment, because it used an XML Socket for the Logging statements. However I ran into some cross-domain issues on an external development server, so I put it aside. The Flash Tracer plugin for Firefox would have been sweeeet, but I gave up trying to get it work in Firefox 3. Xray is a debugging behemoth. I didn’t quit like having to include a connector component to my SWF. All these debuggers are pretty darn good, but they all involved some twisted procedures to get them up and running. I then stumbled across a super simple answer to my browser debugging issue. Why not just do what the Javascript guys do? Trace it out to Firebug like this:

ExternalInterface.call("console.log","test");

It’s so simple it can’t be wrong. There is just an issue that I have to decide if I want to use Flash’s built in trace function or the Firebug log while debugging. This however is taken care of buy Thunderbolt. It is a simple class that notices if Firebug is accessible and otherwise uses trace. Thunderbolt also has a "hide" option built in, for when the SWF goes live.

Conclusion

The Firebug / Thunderbolt combo is an elegant way to debug Flash content in both the Flash IDE and in Firefox. For a quick introduction to Thunderbolt, check out the Article 10 tips and tricks using ThunderBolt AS3, by Thunderbolt’s author Jens Krause.