我正在使用Flex SDK中的命令行工具开发AS3应用程序。我的工作流程是:
mxmlc
第二步捕获编译时错误,但运行时错误和警告呢?并trace()
输出?我怎么能看到它?
我没有使用任何具有调试功能的IDE。
答案 0 :(得分:3)
获取Flash播放器和Firebug for Firefox的调试版本,然后您可以在控制台中查看跟踪和错误。
当发生未被异常处理程序捕获的运行时错误时,您将获得一个弹出窗口,告诉您错误。
为什么不获得http://www.flashdevelop.org/?它是免费的,它有调试,分析和IDE可以期待的所有其他好东西。
答案 1 :(得分:1)
虽然Flash调试器是一个不错的选择。我个人建议Monster Debugger。它是一个很棒的调试器,具有非常直观的用户界面,并且具有许多功能,使调试变得非常容易。
答案 2 :(得分:0)
Flash Player调试器将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位版本的调试器播放器...但是,播放器在Wine版本下运行得相当不错,即Windows版本。
您可以使用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)。