Ios 我怎样才能找出我在模拟器中运行的应用程序突然崩溃的原因
我用的是ruby motion。下面是我的环境的详细信息Ios 我怎样才能找出我在模拟器中运行的应用程序突然崩溃的原因,ios,ios-simulator,rubymotion,formotion,Ios,Ios Simulator,Rubymotion,Formotion,我用的是ruby motion。下面是我的环境的详细信息 $ 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)
$ 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)
当我运行我的应用程序并单击一个按钮,该按钮将加载使用formation构建的表单时,我的应用程序突然崩溃,并显示此错误消息
*模拟器会话以错误结束:错误域=DTiPhoneSimulatorErrorDomain代码=1“模拟应用程序
退出。“UserInfo=0x10011e200{NSLocalizedDescription=模拟
应用程序退出,DTiPhoneSimulator UnderlineingErrorCodeKey=-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)
在升级rubymotion之前,我的应用程序运行得非常好,一旦我更新了rubymotion,我也必须更新我的一些宝石
如何解决此问题或解决此问题?这几乎总是在您尝试访问已解除分配的对象时发生。尝试将变量更改为实例变量(@myvar
)或全局变量($myvar
),看看这是否解决了问题。显然,您不想在生产中使用全局跟踪,但可以尝试一下。当您到达该断点时,要做的第一件事就是获取回溯。这通常会为你指明正确的方向。另一种查看信息的方法是打开控制台,然后运行/崩溃应用程序。看看发生了什么
正如@Jamon所说,这通常是GC在你没有预料到的情况下收获的东西