【问题标题】:How to detect Flash runtime errors?如何检测 Flash 运行时错误?
【发布时间】:2012-07-28 22:40:50
【问题描述】:

我正在使用 Flex SDK 中的命令行工具开发一个 AS3 应用程序。我的工作流程是:

  1. 写代码
  2. mxmlc编译
  3. 在最喜欢的网络浏览器中运行 SWF 文件
  4. 重复

第二步捕获编译时错误,但是运行时错误和警告呢?和trace() 输出?我怎么能看到?

我没有使用任何具有调试功能的 IDE。

【问题讨论】:

    标签: actionscript-3 flash apache-flex


    【解决方案1】:

    获取 Firefox 的 Flash 播放器和 Firebug 的调试版本,然后您可以在控制台中看到跟踪和错误。

    当发生异常处理程序未捕获的运行时错误时,您将收到一个弹出窗口,告诉您该错误。

    为什么不获取http://www.flashdevelop.org/?它是免费的,它具有调试、分析和所有其他您可以从 IDE 获得的好处。

    【讨论】:

    • 我之前确实使用过 FlashDevelop,但我厌倦了重新启动到 Windows。没有Linux版本:(
    【解决方案2】:

    虽然 Flash 调试器是一个不错的选择。我个人建议Monster Debugger。它是一款出色的调试器,具有非常直观的用户界面,并且具有大量功能,使调试变得非常容易。

    【讨论】:

      【解决方案3】:

      Flash 播放器调试器将trace() 的输出写入 flashlog.txt 文件。它的位置是硬编码的,并且在不同的系统上是不同的。在 Linux 上,它位于 ~/.macromedia/Flash_Player/Logs/flashlog.txt。为了让调试器实际写入该文件,您需要另一个文件 mm.cfg,它的位置和名称再次被硬编码。它应该在 ~/mm.cfg 中。它可能包含许多不同的选项,但您感兴趣的是ErrorReportingEnable=1

      然后您可以$ tail -f ~/.macromedia/Flash_Player/Logs/flashlog.txt 来查看文件写入的进度。

      请注意,目录和文件必须可由运行播放器的用户写入。如果不是这种情况,Flash 播放器不会发出任何警告,并且会静默失败。

      另外请注意,如果您碰巧在 Linux 上,则没有 64 位版本的调试器播放器......但是,该播放器在 Windows 版本的 Wine 下运行得相当好。

      您可以使用 SDK 中的命令行调试器进行调试。它被称为 fdb(fdb.exe 或 Windows 上的 Apache Flex fdb.bat)。它与 gdb 接口类似,可以执行断点、一些运行时代码评估、反汇编函数、查找堆栈帧及其变量以及您希望调试器执行的大多数其他事情。我通常从 Emacs 运行它,但我想从 Vi[m] 或您使用的任何编辑器运行它应该不是问题......

      如果您使用的是 Emacs,实际上可以将 Flymake 连接到 SDK 的一部分,在您键入时进行语法检查。您可以在此处找到有关如何执行此操作的更多信息:http://www.flashdevelop.org/community/viewtopic.php?f=13&t=9238(感谢 Philippe)。

      【讨论】:

        猜你喜欢
        • 2016-07-22
        • 2011-02-04
        • 1970-01-01
        • 2021-07-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多