1

我遇到了堆栈下溢错误这个奇怪的问题,它只发生在 Flex Builder 项目的发布版本中。我在网上四处寻找解决方案,但是虽然我找到了一些相关的帖子,但没有任何帮助。所以这是这个问题和我在答案中的解决方案,希望它可以帮助其他人。

问题:我将一个 java 程序(一个游戏)移植到 flex 中,它在 Android、web 和 Playbook 的调试模式下运行良好。但是,当我构建游戏的发布版本时,它崩溃了。根据 Adob​​e 的文档,报告的错误是 1024,即堆栈下溢。

起初,我认为问题仅限于 Playbook,但不,完全相同的问题发生在 Web 浏览器和 Android 的完全相同的位置。从我插入的调试信息中,我发现在调用另一个函数的过程中似乎抛出了异常。

4

1 回答 1

1

为了解决这个问题,我在许多单独的函数中分解了有问题的函数,从而缩小了代码的哪个精确部分是什么导致了问题。这将我引向了几行具有以下调用的代码(在 try-catch 中):

trace(e.getStackTrace())()

嗯,这显然是由我用来从 Java 重构为 Actionscript 的正则表达式产生的。去掉多余的 () 即可解决问题。

这是我希望编译器能够捕捉到的事情,而不是让它只在发布时失败,当包含有问题的代码的函数被压入堆栈时。

于 2011-10-30T21:40:26.153 回答