我在项目中使用FDT和Apache Flex 4.12 SDK。我需要调试在SWF与JavaScript调用交互时触发的一些异常(使用ExternalInterface),因此我需要在导航器上运行时对其进行调试。
我知道我需要拥有Flash Player的Debug版本,而且我已经安装了它。调试版本显示一个名为" Debugger"。
的菜单选项我已经使用以下选项在正确的位置配置了mm.cfg文件(找到here的文件位置和配置选项):
ErrorReportingEnable=1
TraceOutputFileEnable=1
经过测试的Flash Player版本是11.2(GNU / Linux)和13.x(Windows 8)。 Testes网络浏览器包括谷歌浏览器,Mozilla Firefox和Internet Explorer。
"调试器"播放器中的选项已禁用,但this link告诉我们需要使用调试符号编译SWF。所以,我在编译器中添加了以下选项:
-debug=true
-define=CONFIG::debugging,true
使用FDT,我可以在Project属性中找到编译器参数 - > FDT编译器 - >编译器参数。
不幸的是,调试选项仍然被禁用!我错过了什么?旧的Flash Player版本向我们展示了一个带有堆栈跟踪的框。
此外,我找到了Firefox / Chrome扩展程序FlashFirebug(Firefox版本here的链接),但是现在还没有免费版本了,我不想付款,因为我需要的只是打印堆栈跟踪。使用ExternalInterface将输出定向到浏览器控制台并不总是按预期工作,所以我真的需要本机Flash堆栈跟踪。
答案 0 :(得分:1)
FDT中的调试选项由您启动启动配置的模式控制。 您可以在调试或运行模式下启动。仅当您以调试模式启动启动配置时,以下解决方案才有效。
选择案例A或B:
答:如果你的bin文件夹中有自己的html包装器,你可以执行以下操作: 打开用于在FDT的调试配置对话框中编译的启动配置 (我假设您使用FDT编译您的应用程序)。 切换到开始选项卡,然后输入html包装器的启动uri 这开始了瑞士法郎。选择Browser as Viewer。 验证是否已关闭“抑制异常”弹出窗口。 CLick Apply。单击Debug。 现在浏览器应该出现,FDT内部的调试应该与您的应用程序连接 如果从你的html包装器正确启动swf。
B:如果您在某处有外部html包装,请执行以下操作: 打开用于在FDT的调试配置对话框中编译的启动配置 (我假设您使用FDT编译您的应用程序)。 切换到启动选项卡并关闭“编译后打开URI”。 单击“应用”单击Debug。 现在swf在调试模式下创建,并放在项目的bin文件夹中。 将swf复制到html包装器可以加载swf的位置。 启动包含swf的html应用程序。 FDT的调试器仍在等待后台与该swf的连接。如果超时已达到,则在调试模式下再次启动启动配置,然后立即启动应用程序。如果调试器连接控制台输出显示给您。
在案例A或案例B之后: 在你的申请中引发异常。 FDT中的调试器应跳转到导致异常的代码行。