Skip to content

SWFWire Debugger Overview

AlexConnat edited this page Oct 9, 2018 · 3 revisions

This guide will give you a brief overview of the SWFWire Debugger capabilities and intended purpose. If you haven't already, download and install the latest version.

Start screen

  • Drag and drop the SWF (ActionScript 3 only) you want to debug onto the app. You can do this at any point during debugging.
  • Pass FlashVars to the loaded SWF in a querystring format.
  • Use a cached version of the SWF. Since injecting debug info into the SWF is not instant, you can use a cached version if the source SWF hasn't changed. The debugger creates a file in the format .0.swf in the same folder as the source SWF for this purpose.

Debugging mode

Once you click Debug, the SWF will be parsed, debugging hooks added, written, and loaded. Once this is complete, the SWF will be loaded in a new window.

Navigating the loaded SWF

The loaded SWF can be easily navigated using the middle mouse button to pan, and the mouse wheel to zoom.

Viewing properties

The inspect button disables mouse input for the SWF, and instead highlights each DisplayObject as you mouse over. Clicking on a DisplayObject will select that object, create a breadcrumb navigation from the display list at the top, and reveal the properties in the property inspector. Double click the name of any property to make that the selected object.

Modifying properties

Click on any value in the property inspector to enter edit mode, and change the value.

Console tab

The console tab enables you to trace the flow of the code, as well as view debugging information from the debugger itself.

  • Show method entry - Prints the name of each method in the SWF as it is called. Disabled by default since it can be very CPU intensive.
  • Show method entry - Prints the time total taken by each method in the SWF.
  • Skip <event name> - Disables printing debugging info for methods called from the specified event type. Useful if you don't want to see ENTER_FRAME or TIMER events, since they may clutter the output.
  • Show arguments - Dumps the arguments of each method call.
  • Show return values - Dumps the return value of each method call.

Net tab

The net tab tracks network activity in the SWF. You should see output for any URLLoader, Loader, NetConnection, or Socket event.

Object List tab

Lists all objects that have been created by the swf using the new keyword.

  • Click Refresh to update the list.
  • Click Run Garbage Collector to run the AVM garbage collector. Click refresh after running the garbage collector to see which objects have been collected.
  • Double click an object to inspect it in the property inspector.