最近公司进行项目开发,我负责主逻辑与部分功能模块的开发,使用的是flex3的AS 工程,而我的同事负责编写部分模块,但使用的是flash的IDE,因为是外部加载入主逻辑后进行使用,所以除了不能共享库类之外,看似也没什么太大的问题,可是到了整合调试的时候,就有点麻烦了,一个是flash,一个是flex,怎么断点呢?
如果不能断点,我就不能知道加载进来的flash编译的swf到底在哪一步出了错,错误主要是出现在场景给如不同参数调用swf内部封装的一些方法导致的,很痛苦的说。
后来无意间,我把同事的项目文件夹,copy到整个项目的svn下,本来准备自己用flash来慢慢调试的,可是偶然的在flex中的调用swf方法的那个地方断了个点,然后按了一下,下一步,发现flex居然神奇的找到了这个swf的文档类,不仅可以打开,而且还可以在这个文档类里面进行断点,或者是这个文档类里面导入的其他类中进行断点测试~。
太神奇了,呵呵。不太能够明白flex如何能够找到这个文档类的,因为文档类放置的地方和整个flex中引用类的Librarys完全无关,flash发布的swf的地方也和类文件完全无关,是发布到flex的bin文件夹下的。
我把这个经验告诉你,希望对你有用^_^。
2008-08-20 补充内容
zhukefeng 提供信息:
flash在编译swf时,文档类,和绑定类都可以进行调试,文档类在load的时候会执行,继承的类,必须要把对应的实例拉到舞台上(dmh2002注:这个可以在代码中new class的方式实现,不一定要拉到舞台,拉到舞台其实也就是先成功一个实例),就可以调试。