我遇到了这个奇怪的问题,堆栈下溢错误只发生在Flex Builder项目的发布版本中。我环顾网络寻找解决方案,但是当我发现一些相关的帖子时,没有什么能真正帮助我。所以这里是这个问题和我在答案中的解决方案,以便它可能有助于其他人。
问题:我将一个java程序(游戏)移植到flex,它在Android,Web和Playbook的调试模式下运行良好。但是,当我构建游戏的发布版本时,它会崩溃。根据Adobe的文档,报告的错误是1024,即堆栈下溢。
起初,我认为问题仅限于Playbook,但不是,完全相同的问题发生在网络浏览器和Android的完全相同的位置。根据我插入的调试信息,我发现在调用另一个函数期间,异常似乎被抛出。
答案 0 :(得分:1)
为了解决这个问题,我在许多单独的函数中分解了违规函数,从而缩小了导致问题的精确部分代码。这引出了几行代码,这些代码具有以下调用(在try-catch中):
trace(e.getStackTrace())()
Hummm,这显然是由我用来重构从Java到Actionscript的正则表达式产生的。删除extra()可以解决问题。
这是我希望编译器捕获的东西,而不是只在发布时让它失败,当包含违规代码的函数被压入堆栈时。