你如何在SWF中发现错误?

时间:2012-01-17 20:01:59

标签: actionscript-3 flash

我觉得这个问题很愚蠢,但似乎我无法找到答案。

我有一个在闪光灯内完美运行的SWF。一旦我作为SWF导出,它就不再起作用了。

我不能使用“追踪”

我已尝试过该功能,但由于某些原因它不会触发它。 :

function quikTrace(string:String){

    //INIT VARIABLES
    var tmpTxtField:TextField;

    //TEXTFIELD PROPERTIES
    tmpTxtField = new TextField();
    tmpTxtField.text = string;
    tmpTxtField.x = stage.width / 2;
    tmpTxtField.textColor = 0xFFFFFF; //white (black background)
    tmpTxtField.y = stage.height / 2;
    addChild(tmpTxtField);
}

是否有任何“开箱即用”的方式来查找SWF中的错误?

3 个答案:

答案 0 :(得分:2)

您可以通过以下几个快速步骤在浏览器中查看跟踪语句:

  1. 为您的浏览器获取调试Flash播放器。 link
  2. 设置mm.cfg以启用闪存日志记录到文件。 link
  3. 获取文本编辑器/“tail”查看器并读取生成的flashlog.txt文件。这就是FireBug&如果你在firefox中,Flashbug会派上用场。您也可以尝试使用裸机进行PC,或者在mac / linux机器上使用常规的旧“tail -f”。
  4. 祝你好运。

答案 1 :(得分:1)

这根本不是一个愚蠢的问题!您刚刚学习如何首次调试Flash。通过从Flash IDE或Flash Develop执行调试/测试构建,可以对导出的SWF使用“trace”。然后,您可以使用扩展名Firebug与Flashbug扩展程序一起使用Firefox读取这些跟踪。现在,您已准备好使用跟踪获取反馈。

对于这个特殊问题,很难说。这个函数是在类或时间轴代码中吗?如果它是一个类,可能是因为Stage尚未准备好。您可以使用Event.ADDED_TO_STAGE事件来了解Stage参考何时可以使用。

希望这有帮助!

答案 2 :(得分:1)

为您的浏览器安装调试版的Flash播放器。它会告诉你究竟哪一行代码抛出错误。

http://www.adobe.com/support/flashplayer/downloads.html