firefox,linux中的Flash跟踪输出

时间:2009-05-05 15:07:01

标签: linux flash actionscript trace

我正在开发一个应用程序,我已经在linux桌面上的服务器上运行了。由于Linux上的Flash的缺点(阅读:太难)我正在开发Windows中的应用程序的(小)闪存部分,这意味着来回的很多令人沮丧。现在,我正在尝试使用闪存跟踪器捕获闪存部分的输出,这也证明非常困难。有没有其他方法可以监控linux上的trace输出?感谢...

6 个答案:

答案 0 :(得分:5)

希望这也有帮助(为了谷歌搜索我来自):

为了进行跟踪,您需要Flash Player的调试版 http://www.adobe.com/support/flashplayer/downloads.html(具体查找“调试器”版本 - 初看起来很难发现)

然后你家中的mm.cfg文件包含

ErrorReportingEnable=1 TraceOutputFileEnable=1 MaxWarnings=50

然后你很高兴 - 重启浏览器。当跟踪开始填写时,您将在

中找到日志文件
~/.macromedia/Flash_Player/Logs/flashlog.txt

这样的东西
tail ~/.macromedia/Flash_Player/Logs/flashlog.txt -f

应该足够跟踪。

答案 1 :(得分:3)

我多年来使用的另一种令人难以置信的简单解决方法是直接在swf中创建输出模块。所有这些都意味着键盘快捷键将MovieClip附加到文本字段。我的所有跟踪都转到此文本字段而不是(或除了)输出窗口。多年来我一直在改进它,使窗口可拖动,可调整大小等等。但我从来没有需要任何其他方法进行简单的日志记录,并且它在所有平台上都是100%可靠和可重用的。

[编辑 - 对评论的回应] 没有像javascript的alert()函数那样的警报。但是使用内部文本域就是这么简单:

ACTIONSCRIPT 1 VERSION


(见底部注释)

/* import ExternalInterface package */
import flash.external.*;

/* Create a movieclip for the alert. Set an arbitrary (but very high) number for the depth
 * since we want the alert in front of everything else.
 */
var alert = this.createEmptyMovieClip("alert", 32000);
/* Create the alert textfield */
var output_txt = alert.createTextField("output_txt", 1, 0, 0, 300, 200);
output_txt.background = true;
output_txt.backgroundColor = 0xEFEFEF;
output_txt.selectable = false;
/* Set up drag behaviour */
alert.onPress = function()
{
    this.startDrag();
}
alert.onMouseUp = function()
{
    stopDrag();
}

/* I was using a button to text EI. You don't need to. */
testEI_btn.onPress = function()
{
    output_txt.text = (ExternalInterface.available);
}

注意:这适用于AS1,并且可以很好地转换为AS2(如果这样做,最好使用强数据输入,但不是严格要求)。它应该适用于Flash Player 8-10。在Flash 8中添加了ExternalInterface,因此它不适用于以前的播放器版本。

ACTIONSCRIPT 3 VERSION


var output_txt:TextField = new TextField();
addChild(output_txt);
output_txt.text = (String(ExternalInterface.available));

如果你想加强一点:

var alert:Sprite = new Sprite();
var output_txt:TextField = new TextField();
output_txt.background = true;
output_txt.backgroundColor = 0xEFEFEF;
output_txt.selectable = false;
output_txt.width = 300;
output_txt.height = 300;
alert.addChild(output_txt);
addChild(alert);

alert.addEventListener(MouseEvent.MOUSE_DOWN, drag);
alert.addEventListener(MouseEvent.MOUSE_UP, stopdrag);

output_txt.text = (String(ExternalInterface.available));

function drag(e:MouseEvent):void
{
    var alert:Sprite = e.currentTarget as Sprite;
    alert.startDrag();
}

function stopdrag(e:MouseEvent):void
{
    var alert:Sprite = e.currentTarget as Sprite;
    alert.stopDrag();
}

[/编辑]

答案 2 :(得分:1)

如果在运行时只需要跟踪输出,可以在Firefox中使用Firebug,然后使用Flash.external.ExternalInterface调用Firebug提供的console.log()Javascript方法。

我多次使用该策略取得了很大的成功。

答案 3 :(得分:0)

Thunderbolt是一个很棒的日志框架,内置了firebug支持。

答案 4 :(得分:0)

要实现FlashTracer,请转到以下地址并确保您拥有最新文件。 http://www.sephiroth.it/firefox/flashtracer/。安装它并重新启动浏览器。

转到adobe并获取最新的Flash调试器。下载并安装firefox版本,因为FlashTracer是firefox的补充。

现在firefox拥有最新的flash调试器和flash跟踪器,我们需要找到mm.cfg

PC上的位置:C:\Documents and Settings\username

mm.cfg内部应为:

ErrorReportingEnable=1
TraceOutputFileEnable=1
MaxWarnings=100 //Change to your own liking.

保存后,打开firefox,前往工具>前往闪存跟踪器窗口。闪光追踪器。在弹出的面板中,右下角有两个图标,单击扳手并确保将路径设置为保存日志文件的位置。还要检查闪光灯示踪器是否已打开,底部有一个播放/暂停按钮。

我目前使用此实现并希望它适合您。 Flash Tracer有点旧,但可以使用最新版本的FireFox。我在FireFox 3.0.10中使用它。

答案 5 :(得分:0)

我在linux上使用flex编译器为我的所有资产(包括图像和字体)构建actionscript文件,[embed(source =“file”)],我发现linux上的actionscript开发非常适合开发人员。

然后,我最感兴趣的是,flash已经变成了Unix Friendly,反过来说:)