How to debug swf browser crashes

actionscript-3apache-flexbrowserflash

My swf is occasionally crashing the browser (or just crashing the plugin as chrome tells me).

How do I diagnose the bug? I am developing for flash player 9 using flex.

Things I have tried:

  • Turned on log files so I can see trace("…") output. However, my log files, and my swf, are ending at inconsistent termination points.
  • Install the debug version of the flash player
  • Tried different browsers (today I am on vista, and can reproduce the bug on four browsers).

I am hoping there is a [legible] stack trace from the plugin. Any suggestions?

Best Answer

It's likely that the flash plugin is causing the crash before your log files can be flushed. The only thing I can recommend is to install the Windows Debugging Tools.

Then bring up a command prompt (as administrator if in vista), and type the following:

cd "%programfiles%\Debugging Tools for Windows"
adplus -crash -pn iexplore.exe

(Obviously, change iexplore.exe to whatever browser you are running against.)

Now, use your flex application in the browser until it crashes. This will create a crash dump in %programfiles%\Debugging Tools for Windows\Crash_Mode__Date_02-18-2009__Time_14-40-0202 (actual date will be used).

You can now send that mini-dump (smallest dmp file) to Adobe so they can analyze it properly.

If you want to view the (native) call stacks in hope of discovering what caused the issue, you can load windbg and load the dump file (File > Open Crash Dump). Once it's loaded type the following at the windbg commandline and hit enter:

~* kb 2000