- 积分
- 136401
- 注册时间
- 2014-12-27
- 最后登录
- 2026-1-23
- 在线时间
- 605 小时
- 威望
- 562
- 贡献
- 29
- 金币
- 52903
- 钢镚
- 1422
- 交易凭证
- 1
- 分享
- 0
- 精华
- 33
- 帖子
- 2094
- 主题
- 1742
TA的每日心情 | 擦汗 2018-4-10 15:18 |
|---|
签到天数: 447 天 [LV.9]以坛为家II
超级版主
    
- 威望
- 562
- 贡献
- 29
- 金币
- 52903
- 钢镚
- 1422
 
|
沙发

楼主 |
发表于 2015-9-2 14:31:55
|
只看该作者
先说一下这个错误的抛出的条件:
注意这里讨论的是1024,不是1023的堆栈下溢
这个错误只会再编译成relase版本的时候才会出现(编译器命令-debug=false)。如果编译成debug版本则不会出现
这个问题国外很多朋友碰到,但是解决方法都是莫名奇妙,有人说解决方法是变量命名要弄特别一点,排查一下有没有函数的嵌套死循环调用。排查有没有用到true&&trace("abc")这样的写法。。。。。
关于其原因,有人则说是as3编译器编译出来的代码invalid了,有人则说是编译器自己mess up了。。。。
总之就象是一个幽灵错误一样,没人知道什么回事,adobe上的回答也模棱两可。。。。
可是问题还是得解决(当然可以发布一个大很多的debug版本也是一个解决方法)。。。。
今天折腾了我很久,不过终究被排查出来了。。。
我的解决办法很简单:
把trace的代码行全部屏蔽。。。。
我的情况是,一个关于ai的判断中,很多foreach for 等循环的写法,
其中有一个很深的for循环体中,一行trace代码的编译产生了这个幽灵1024错误。。。屏蔽了就没问题了
当然排查方法肯定是范围慢慢缩小,然后把范围缩小到最小之后,主要查trace语句!!
我的环境是
sdk flex 4.5.1
ide fb4.5
fp 11.1
mac和win7环境
|
|