为什么GDB调试器会不断冻结Xcode 4?

时间:2011-04-14 15:47:43

标签: iphone objective-c opengl-es gdb xcode4

这是一个非常奇怪的错误......

我正在使用相机Feed处理iPhone项目并通过OpenGL着色器运行它以对其应用效果。但是,每次我只是在代码中创建一个新的GLfloat时,调试器在启动时冻结...我无法复制和粘贴文本,因为整个XCode冻结了,但我从一个拼凑了它日志文件:

GNU gdb 6.3.50-20050815 (Apple version gdb-1518) (Sat Feb 12 02:56:02 UTC 2011)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "--host=x86_64-apple-darwin --target=arm-apple-darwin".2#b2a16f854957b341^2@43"Xcode.IDEFoundation.ConsoleAdaptor.Debugger17"tty /dev/ttys000
(gdb) 

手机没有冻结,因为我可以点击主页按钮继续做其他事情。然而,Xcode 4完全被一个运行在99%CPU的沙滩球冻结了,我必须强制退出并再次启动它。

然而......真奇怪的是我有iPhone 3GS,当我借用某人的iPhone 4时,它编译并运行良好。当我切换回iPhone 3GS时,它只适用于第一次时间......之后,它会再次冻结。

这可能是我正在做的事情,还是另一个XCode 4错误?我想尝试将调试器切换到LLDB,但这不会出现在Scheme窗口的下拉列表中......即使Xcode用户指南声明GDB和LLDB都可用:

http://developer.apple.com/library/mac/#documentation/ToolsLanguages/Conceptual/Xcode4UserGuide/Debugging/Debugging.html

谢谢!

5 个答案:

答案 0 :(得分:2)

我正在制作一个视频处理应用程序,这正是我所拥有的症状。 它在波浪中起作用。 我不知道这是什么原因,但我正在慢慢收集事实来解决它:

  • 在方案设置中关闭GDB会消除问题
  • 使用GDB ON,“等待app启动”似乎解决了问题(需要更多测试)
  • 进入“稳定冻结”模式后,意思是,每次运行时都会运行沙滩球,提交到存储库会消除问题(??)
  • 通过iTunes将设备恢复为最新iOS的新设备解决了这个问题

除了关闭GDB之外,所有上述内容仅解决了临时问题 - 它在经过几次运行后又回来了......

答案 1 :(得分:1)

我之前遇到过这个问题,它今天又开始发生了一整天。我已经尝试了从清洁项目到重新启动我的iPad和MacBook Pro,甚至交换不同的电缆。

两次发生了什么事情: 我清理了项目,更改了构建目标,并在iPhone模拟器,iPad模拟器上运行它。然后返回到原始(主要)构建目标(实际应用程序)并在iPhone和iPad模拟器上运行该目标。所有这些都运行正常,所以我终于在iPad设备上运行了原始应用程序并且它运行并且一直在工作。

看起来像清理项目,更改构建目标以及在模拟器上运行的组合正在冲掉以前导致XCode和我的iPad设备挂起并冻结的东西。

祝你好运

答案 2 :(得分:1)

当程序构建并开始运行时,尝试让终端打开,并在前面(在XCODE之上)。

另外,如果可能,请尝试下载xcode 4.1。这似乎解决了这个烦人的问题,我实际上可以再次使用调试器了!

答案 3 :(得分:0)

在我的情况下,这是错误的代码签名身份

答案 4 :(得分:0)

最小化循环中的“NSLog”语句有助于使用OpenGL ES,OpenCV等的应用程序。