【发布时间】:2012-07-28 22:40:50
【问题描述】:
我正在使用 Flex SDK 中的命令行工具开发一个 AS3 应用程序。我的工作流程是:
- 写代码
- 用
mxmlc编译 - 在最喜欢的网络浏览器中运行 SWF 文件
- 重复
第二步捕获编译时错误,但是运行时错误和警告呢?和trace() 输出?我怎么能看到?
我没有使用任何具有调试功能的 IDE。
【问题讨论】:
标签: actionscript-3 flash apache-flex
我正在使用 Flex SDK 中的命令行工具开发一个 AS3 应用程序。我的工作流程是:
mxmlc编译
第二步捕获编译时错误,但是运行时错误和警告呢?和trace() 输出?我怎么能看到?
我没有使用任何具有调试功能的 IDE。
【问题讨论】:
标签: actionscript-3 flash apache-flex
获取 Firefox 的 Flash 播放器和 Firebug 的调试版本,然后您可以在控制台中看到跟踪和错误。
当发生异常处理程序未捕获的运行时错误时,您将收到一个弹出窗口,告诉您该错误。
为什么不获取http://www.flashdevelop.org/?它是免费的,它具有调试、分析和所有其他您可以从 IDE 获得的好处。
【讨论】:
虽然 Flash 调试器是一个不错的选择。我个人建议Monster Debugger。它是一款出色的调试器,具有非常直观的用户界面,并且具有大量功能,使调试变得非常容易。
【讨论】:
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)。
【讨论】: