Flashbug - An extension for Firebug
- Compatibility: Firebug 1.7 (Firefox 4/5) Firebug 1.8 (Firefox 4/5/6/7/8/9) Firebug 1.9 (Firefox 9/10/11)
- File Size: About 950Kb
- Change Log
- Improved support for Firebug 1.9
Flashbug 1.8 has finally been released and to be honest it was a bit late to the show. It now supports Firebug 1.8 and adds a whole bunch of new features. There is also a new experimental panel called the 'Flash Inspector'. Many of you might recognize this feature from FlashFirebug. I added this feature in because so many of you were having trouble using both add-ons and they were interfering with each other. Finally I've overhauled the preferences window to display EVERY single option to configure the mm.cfg file!
- Utilizes Firebug's built in search feature - When you search for any words in the logs, the words will be highlighted in real-time.
- Displays Trace logs - Displays the traces emitted from all Flash instances playing in any browser.
- Displays Policy logs - Displays the policy log traces emitted from the Flash Player. These traces usually occur when using cross-domain policies or loading assets from a different domain.
- Configure Debug Player settings - The Flash Player itself can be configured to trace out data differently. Those options are available in the preferences window.
- Trace filters - There are a few builtin filters to display your traces differently.
- Built-in Links - Any URLs that are detected in the traces will be dot underlined.
- Read SharedObject - Read any Shared Objects associated with a page.
- Read AMF/Remoting Request/Response Data - View AMF data sent to and from the page to the server.
- Read SWFs - View SWF internal assets and data. Export SWF assets directly from Flashbug.
Flash Console (Trace/Policy) PanelThis will display any traces from any .SWFs running currently (in Firefox or outside of Firefox). You can search using the search box in Firebug to highlight any matches. The Flash Console can display XML/JSON as pretty print (with proper formatting and color) with the @@[email protected]@ or @@[email protected]@ command respectively. Or if it's just a single long line of XML it will automatically display it as pretty print. If you want to see the logs directly you can open either the Trace or Policy log directly from Flashbug. For any urls that appear in the traces, you can right-click on them to open them in a new tab. - @@[email protected]@ : Formats it into 'pretty' JSON with coloring - @@[email protected]@ : Formats it into 'pretty' XML with coloring - @@[email protected]@ : Same as XML - @@[email protected]@ : Displays a blue information icon to the left - @@[email protected]@ : Background is a teal with an warning icon to the left - @@[email protected]@ : Background is a light red with an error icon to the left Like FlashTracer, it is required to have the Flash Player Debugger installed or you will not see any traces. Flashbug will tell you the version of Player detected on your system. If you do not have the Debug version, it will give you a link to download it.
Flash Inspector Panel *NEW*
This adds similar functionality as you would find in FlashFireBug. It’s still a bit experimental so please use it with care and report any bugs you run into. The panel allows you to right click on anything in a SWF and inspect it’s properties in real time. Or you can use the inspect button from the toolbar and inspect the SWF just like HTML. You can then edit any properties in the right pane of an item within the SWF in real time.
Flash Decompiler Panel *NEW*The Details (SWF) Tab has been removed and now has it's own panel called the 'Flash Decompiler' panel. This new panel will display any SWFs or SPLs detected in a page and list them on the right. Expanding a SWF will begin decompiling the SWF and display any assets found within. Just click on any item inside to see the details on the left pane. If the item is exportable a button will be displayed to export. In addition, font glyphs are now displayed so you can identify fonts easier. Morph shapes now animate (if possible via SVG) to give you and idea of what it's supposed to look like in action. The panel can also display any embedded sounds, and play WAV files from inside Firefox (Firefox doesn't support playing MP3s).
Shared Object PanelThe Shared Object Panel displays any shared objects related to the site being viewed. This works by listening to all the SWFs that are loaded for the page then chekcs based on the domain for any shared objects saved on your computer. Each row will list a Shared Object found, which you can expand to see the data stored within, open the file directly or copy the path to the file.
AMF TabThe AMF Tab lives in the Net Panel and is part of a AMF request that is displayed. If you visit a site that relies on remoting for data transfer, you can inspect the AMF request and response being sent back and forth. To view this, go to the row in the Net Panel that is AMF data and expand it. Clicking either the Request or Response tab will display the corresponding data in an easy to read format familiar to Firebug users.
THis allows you to view the location of the different log files, and the mm.cfg in case you need to find it. In the advanced panel you can also configure EVERY KNOWN option (even undocumented ones) within the mm.cfg file.
- I can't debug or run my application in FlashBuilder, whats going on?
This is a side effect of the Flash Inspector panel and is unfortunately unavoidable really. The Flash Inspector panel uses the PreloaderSWF attribute of the mm.cfg file in order to inspect the SWFs in the browser. What happens is that when you go to test in Flash Builder it is made to set itself as the PreloaderSWF in order to run properly. But if a value is already present then it simply doesn't debug/run. The easiest way to solve this issue is to disable the Flash Inspector panel, this will automatically remove Flashbug from the PreloaderSWF attribute allowing Flash Builder to go about it's business.
- Where did my buttons go?!
If you recently upgraded to Firebug 1.8 you'll notice the buttons labels are missing in Flashbug 1.7. This is becuase Firebug changed how plugins are handled. Please upgrade to Flashbug 1.8 to resolve this issue.
- Whats this 'flush file error'?
This occurs when Flashbug is trying to delete a file. This may happen when you try to clear the log or save your Flash Player preferences (clears the mm.cfg file). The reason this might fail is if the file is open in another program. This can happen if the Flash IDE is open sometimes because it writes to the log as well. Another reason it might fail is due to the permissions assigned to the file. I've updated the permissions used in 1.6.4. So if you have this issue, please try out the beta and let me know if this fixes your problem.
- How do I use Flashbug?
If you're new to Flashbug it might be a bit daunting. But in reality it's as easy as using the trace window in Flash. Below is a short guide to help you get started.
After you install Flashbug make you have also installed the Firebug extension. Flashbug itself is an extension to Firebug, so you will only find the 'Flash Console' tab inside of Firebug. After you have both Flashbug and Firebug installed, navigate to the 'Flash Console' tab. If the tab is grayed out, enable the tab. This is usually done by a drop down arrow located inside the tab. Once enabled you'll see a 'Trace Log', 'Policy Log' and 'Shared Objects' button.
The 'Trace Log' button shows the traces currently written to the trace log file. (Flash Player writes all traces from all running swfs to a single file. So unfortunately this will display traces for your other tabs as well.) This works exactly like the Trace window in Flash. All of your traces will be displayed in this area.
The 'Policy Log' button shows you anything that occurs that might require cross-domain permissions. It will show if SWF files loaded successfully or if there were any errors. Or if Flash Player was unable to find a crossdomain.xml file. This is useful if you ever try to load a file from a different server and it's not working. You can check this log to see if Flash is blocking it and not that your code is incorrect.
Finally, the 'Shared Objects' button displays any shared objects (Flash cookies) related to the site you're viewing in the current tab. How this works is by listening for any swfs that are loaded in the page. It then checks to see if there are any shared objects associated with that swf, if so, it displays it here. It does NOT update in real time, so please use the 'Refresh' button to view any changes.