转自:Danger's blog
1,右键点击我的电脑,添加环境变量->用户变量

变量名:HOMEDRIVE 值 "C:\" (无引号) 
变量名:HOMEPATH 值 "Documents and Settings\登录用户名" (也无引号)

2,在"C:\Documents and Settings\登录用户名" 目录下创建一个文件命名为"mm.cfg"
内容为:
ErrorReportingEnable=0
TraceOutputFileEnable=1
TraceOutputFileName=C:\flashlog.log

3,然后用 Flash 调试播放器打开任何一个允许调试的SWF,Trace()内容就自动记录到C:\flashlog.txt文件中了.

以下是自己配置的总结:
以上的环境变量是默认的,你不设置就是上面的了,但是你可以通过环境变量,重新配置(估计是可行的)。
自己定义的文件flashlog.txt是有大小限制的,默认的最大值是100,你可以通过MaxWarnings来设置其最大值,
如:MaxWarnings=500,也可以设置为0,那样就无限制了。
文件的存储时间直到重新用debug flashplayer开一个swf就自动清空。
根据以上的原理,我就想写一个flash放到与flexlog.log相同的目录下,实时的读取文件的内容,这样每次调试就可以得到更新了。唯一的不足是,不能手动对文件进行清楚。只能重新关闭swf文件,重新再开才能清楚。
1、在舞台上放一个动态文本框,命名为trace_text:
2、在第一帧插入以下代码。
代码如下:

 1 System.useCodepage = true;
 2 var my_lv:LoadVars = new LoadVars();
 3 var duration:Number = 20;
 4 my_lv.onData = function(src:String) {
 5     if (src == undefined) {
 6         trace_text.text = ("数据出错");
 7         return;
 8     }       
 9     trace_text.text = (src.split("\n")).join("");
10 };
11 function run_load():Void {
12     my_lv.load("flexLog.log");
13 }
14 intervalId = setInterval(this"run_load", duration);

发现一个bug,会出现一个警告,原因查找中.......
把我写的文件都放上来:mm.rar(mm.cfg,flexlog.log),只要按以上的说明放到相应的路径下就可以,在把这个swf做个快捷方式就可以了,当然每次要看trace的时候,先开这个flexlog.swf,再开你要调试的swf,当你重新开另一个swf,那flexlog.log会重新清空。
posted on 2006-09-24 15:26  FireYang  阅读(541)  评论(0编辑  收藏  举报