简体   繁体   English

如何调试swf浏览器崩溃

[英]how to debug swf browser crashes

My swf is occasionally crashing the browser (or just crashing the plugin as chrome tells me). 我的swf偶尔会崩溃浏览器(或者只是崩溃插件,因为chrome告诉我)。

How do I diagnose the bug? 我该如何诊断这个bug? I am developing for flash player 9 using flex. 我正在使用flex为flash player 9开发。

Things I have tried: 我尝试过的事情:

  • Turned on log files so I can see trace("...") output. 打开日志文件,以便我可以看到trace(“...”)输出。 However, my log files, and my swf, are ending at inconsistent termination points. 但是,我的日志文件和我的swf以不一致的终止点结束。
  • Install the debug version of the flash player 安装Flash播放器的调试版本
  • Tried different browsers (today I am on vista, and can reproduce the bug on four browsers). 试过不同的浏览器(今天我在vista上,可以在四个浏览器上重现这个bug)。

I am hoping there is a [legible] stack trace from the plugin. 我希望插件中有一个[清晰的]堆栈跟踪。 Any suggestions? 有什么建议?

It's likely that the flash plugin is causing the crash before your log files can be flushed. 在刷新日志文件之前,Flash插件可能会导致崩溃。 The only thing I can recommend is to install the Windows Debugging Tools . 我唯一可以推荐的是安装Windows调试工具

Then bring up a command prompt (as administrator if in vista), and type the following: 然后调出命令提示符(如果是vista,则显示为管理员),然后键入以下内容:

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

(Obviously, change iexplore.exe to whatever browser you are running against.) (显然,将iexplore.exe更改为您正在运行的任何浏览器。)

Now, use your flex application in the browser until it crashes. 现在,在浏览器中使用flex应用程序,直到它崩溃。 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). 这将在%programfiles%\\ Debugging Tools for Windows \\ Crash_Mode__Date_02-18-2009__Time_14-40-0202中创建崩溃转储(将使用实际日期)。

You can now send that mini-dump (smallest dmp file) to Adobe so they can analyze it properly. 您现在可以将该迷你转储(最小的dmp文件)发送给Adobe,以便他们可以正确分析它。

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). 如果要查看(本机)调用堆栈以发现导致问题的原因,可以加载windbg并加载转储文件(“文件”>“打开崩溃转储”)。 Once it's loaded type the following at the windbg commandline and hit enter: 加载后,在windbg命令行中键入以下内容并按Enter键:

~* kb 2000

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM