通常我使用gdb backtrace来调试我的应用程序,但最近我在iPhone模拟器上测试时再也无法做到这一点。蓝色gdb字停止在控制台上显示,当我输入“bt”或“backtrace”时没有任何反应。我仍然可以在设备上正确构建和调试。
我的XCode版本是3.2.3。有没有办法手动激活gdb(更重要的是回溯)?
答案 0 :(得分:1)
正如杰克指出的那样,暂停按钮将手动激活gdb&后面的痕迹,这是你问的。您的安装可能不正确 - 有时,请尝试删除/ Developer文件夹&重新安装。 XCode 3.2.3和调试器工作正常,我每天使用它几次。
特别是,CMD-Y是“使用调试器构建和运行”,而CMD-R只是“构建和运行”(默认情况下没有调试器),因此请确保使用CMD-Y。
除此之外:我遇到的一个问题是,在应用退出后,红色停止标志图标无法识别该应用已完成,因此我必须再次“停止”它。我相信这是因为iOS-4让应用程序在后台运行。
答案 1 :(得分:0)
如果程序挂起,这就是听起来像。您可以按调试器控制台或调试器窗口中的“暂停”按钮来中断应用程序并查看它当前正在执行的位置。
答案 2 :(得分:0)
另外,请检查并确保您的主文件夹.gdbinit文件处于良好状态。如果存在则将其移到一边,看看问题是否消失。
答案 3 :(得分:0)
不知道这是否完全相同,但可能有所帮助。我的iPhone是固件4.0.2,但我的Xcode SDK是固件4.0.1。通常Xcode会抱怨我需要升级到支持4.0.2的新Xcode,这次它没有。
为什么断点可以设置但是调试器没有停在我的断点处(断点是橙色的 - 表示没有加载符号)。我决定重新启动我的iPhone,现在Xcode显示了警告(之前没有)。升级到Xcode for 4.0.2当然解决了我的问题。那么也许你的Xcode没有更新为更新的固件?
答案 4 :(得分:0)
有类似的问题,但不记得确切的情况。原来基础SDK(在项目信息构建选项卡中)设置为设备而不是模拟器。在黑暗中一点点射击,但可能值得验证。