0

我正在使用红宝石运动。以下是我的环境的详细信息。

$ motion --version
2.9
$ bundle
Using bubble-wrap (1.4.0) 
Using motion-require (0.0.7) 
Using formotion (1.6) 
Using motion-layout (0.0.1) 
Using thor (0.18.1) 
Using rubymotion_generators (0.1.0) 
Using bundler (1.3.5) 

当我运行我的应用程序并单击一个假设加载使用形成的表单的按钮时,我的应用程序突然崩溃并显示此错误消息。

*模拟器会话以错误结束:Error Domain=DTiPhoneSimulatorErrorDomain Code=1 “模拟应用程序退出。” UserInfo=0x10011e200 {NSLocalizedDescription=模拟应用退出,DTiPhoneSimulatorUnderlyingErrorCodeKey=-1}

运行rake debug=1我看到以下内容:

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0xc7243c89
0x0081309f in objc_msgSend ()
(gdb) 

在升级 ruby​​motion 之前,我的应用程序运行良好,一旦我更新了 ruby​​motion,我也必须更新我的一些 gem。

我该如何解决这个问题或解决这个问题?

4

2 回答 2

0

当你到达那个断点时要做的第一件事就是获取你的回溯。这通常会为您指明正确的方向。查看信息的另一种方法是打开控制台,然后运行/崩溃您的应用程序。看看发生了什么。

正如@Jamon 所说,它通常是 GC 在您没想到时已经收获的东西。

于 2013-10-19T06:04:58.080 回答
0

这几乎总是在您尝试访问已被释放的对象时。尝试将您的变量更改为实例变量 ( @myvar) 或全局变量 ( $myvar),看看是否能解决问题。显然,您不想在生产中使用全局变量,但可以试一试。

于 2013-10-18T03:32:02.850 回答