我的应用程序在我的iPhone上运行时崩溃,但不在模拟器中崩溃。我可以使用哪些调试技术来解决问题?

时间:2015-07-27 20:49:47

标签: ios iphone xcode swift debugging

应用程序在viewDidLoad的{​​{1}}右括号中崩溃。我的GameViewController代码如下所示:

viewDidLoad

如果我注释掉创建,缩放和显示override func viewDidLoad() { super.viewDidLoad() let scene = GameScene(size: CGSize(width: 768, height: 1024)) let skView = self.view as! SKView skView.showsFields = true skView.ignoresSiblingOrder = true skView.showsPhysics = true scene.scaleMode = .AspectFill skView.presentScene(scene) } 的行,那么应用运行正常(在这种情况下它本质上是一个空白视图)。这告诉我,GameScene课程中显然有一些事情发生,但我无法确切地知道是什么。

当我进行回溯时,我得到了这个:

GameScene

但不幸的是我不知道从哪里开始。我真的不确定如何破译回溯。我知道我的GameScene课程中有某些错误,是否有某种方法可以弄明白究竟是什么?或者我是否必须单独测试每个房产?

除此之外,当我在调试器中运行应用程序时,我的iPhone上的应用运行正常。

编辑:问题解决了。这显然是Xcode的一个错误,而不是我的任何代码。 EXC_BAD_ACCESS at lauch for EAGLContext renderbufferStorage: fromDrawable: in Cocos2d app whie debugging

1 个答案:

答案 0 :(得分:9)

原来这是xcode而不是任何代码的错误,如此问题所示:EXC_BAD_ACCESS at lauch for EAGLContext renderbufferStorage: fromDrawable: in Cocos2d app whie debugging

显然EAGLcontext_renderBufferStorage会导致iOS 8.3+出错。解决方案是更改您用于禁用GPU帧捕获的方案。不完全确定为什么会这样,但确实如此!