相信大家只要用过ActionScript编程,一定会为调试(包括远程调试)Flash文件感到非常不便,笔者也曾经有过这样的烦恼。现在随着这款调试器的问世,这个问题终于迎刃而解了!   本调试器初始化时只是一个按钮,不会占用很多版面,你可以将它放在屏幕的右上角。它自动以所在的MC作为相对路径的起点。   本调试器外观上共分三部分:函数调试器、变量查看/赋值器及输出窗口。下面分别介绍它们。 ·函数调试器 功能:该调试器可以调用指定的函数,并将结果输出到屏幕和指定的变量中。 用法:函数参数用','分隔    可以指定函数的this对象,留空表示本调试器所在的MC    可以用函数返回值为变量赋值,留空表示不赋值    本调试器尝试将各字段的字符串转换为代表的值,具体顺序见下文“myEval()转换的顺序”。 ·变量查看/赋值器 功能:该调试器可以查看指定的变量,并重新赋值 用法:如果只想查看变量本身,点"查看"    如果想查看变量的属性、方法等,点"查看详细"    可以用变量的值或常量来赋值    本调试器尝试将各字段的字符串转换为代表的值,具体顺序见下文“myEval()转换的顺序”。   编程方面,该调试器还在_global里注册了以下API以方便调试: ·myEval() 用法1:function myEval(target:String):Object 说明:本函数是eval()函数的扩展,支持转换到各种内置类型。 用法2:function myEval(target:String, newVal:String):Object 说明:本函数是eval()函数的扩展,支持用各种常量、变量为target赋值。 ·myEval()转换的顺序   1、如果字符串由""括起,则返回""之间的字符串;   2、尝试转换为this、数字、布尔值和undefined;   3、尝试转换为已存在的全局变量;   4、尝试转换为已存在的时间轴变量;   5、尝试转换为新的时间轴变量;   6、返回undefined。 ·myTrace() 用法1:function myTrace(msg:String) 说明:本函数是trace()函数的扩展,msg将被输出到调试器输出和Flash内置输出上 用法2:function myTrace(msg:String,'+') 说明:使用这种格式时,之前的调试器输出会被保留。 ·see() 用法:function see(targetStr:String):String 说明:本函数可以查看对象本身、子对象、属性、方法等的类型和值。 一些例子: ·在“函数调用”中输入Math.cos,在“函数参数”中输入Math.PI,点“执行”,则有如下输出: 函数名:Math.cos 参数名:Math.PI 参数值:3.14159265358979 this对象:_level0 执行结果:-1 ·在“变量名”中输入_root,点“查看详细”,则有如下输出: see _root (movieclip) = _level0 setStyle (function) notifyStyleChangeInChildren (function) …… ·在“变量名”中输入_root.a,在“赋新值”中输入"hello",点“赋值”,则有如下输出: 变量名:_root.a 变量类型:undefined 变量值:undefined 新变量类型:string 新变量值:hello ·在你的程序里,调用see("_global"),则会返回 see _global (object) = undefined __SVMouseWheelManager (object) getStyleCounter (number) = NaN see (function) myTrace (function) myEval (function) ……