使用 GDB 测试 iPad 应用程序挂起黑屏,在模拟器上很好

Posted

技术标签:

【中文标题】使用 GDB 测试 iPad 应用程序挂起黑屏,在模拟器上很好【英文标题】:Testing IPad app with GDB hangs with black screen, fine on simulator 【发布时间】:2010-11-18 15:11:34 【问题描述】:

我有一个基于 ios 4.2 的应用程序,它在模拟器上运行良好。当我在设备上构建和运行应用程序时,它会挂起。唤醒它的唯一方法是杀死 GDB(即点击红色停止标志)。只要 GDB 没有运行,应用程序就可以正常运行。我可以从弹簧板上打开它并正常测试。虽然如果 GDB 仍在运行,我从 spring board 启动应用程序,黑屏又出现了。

我没有任何断点,并且在我的 MainWindow.xib 上检查了启动时可见和启动时全屏。

我的 iPhone 上也有同样的行为。

在设备上进行调试时,它只会显示黑屏。虽然,我可以看到状态栏。

我检查了 GDB 日志,但大多数只是警告我某些框架之间的设备/SDK 不匹配。例如:

警告:检测到 UUID 不匹配 加载的库 - 在磁盘上是: /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/System/Library/PrivateFrameworks/AccountSettings.framework/AccountSettings 警告:检测到 UUID 不匹配 加载的库 - 在磁盘上是: /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/System/Library/PrivateFrameworks/MediaToolbox.framework/MediaToolbox 警告:检测到 UUID 不匹配 加载的库 - 在磁盘上是: /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/System/Library/PrivateFrameworks/MobileBluetooth.framework/MobileBluetooth 警告:检测到 UUID 不匹配 加载的库 - 在磁盘上是: /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/System/Library/PrivateFrameworks/VideoToolbox.framework/VideoToolbox 警告:检测到 UUID 不匹配 加载的库 - 在磁盘上是: /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/System/Library/PrivateFrameworks/CrashReporterSupport.framework/CrashReporterSupport

有其他人看到过这种行为吗?

【问题讨论】:

设备运行的是什么操作系统? 我假设你的意思是版本? iPad有4.2(8C134b),iPhone有4.0.2(8A400) 您是否尝试过使用可视化调试器暂停执行以查看应用是否可能卡在代码中的循环中? 【参考方案1】:

我刚刚使用 Apple 的最新版本更新了我的 SDK 和设备,它似乎解决了这个问题。

【讨论】:

以上是关于使用 GDB 测试 iPad 应用程序挂起黑屏,在模拟器上很好的主要内容,如果未能解决你的问题,请参考以下文章

Velocity JS 在 iPad 上挂起

GDB 在远程调试期间挂起,库版本不匹配

使用 splitViewController 在 iPad 故事板上出现黑屏

iPad上的黑屏而不是启动图像

横向加载时iPad上的UIPageViewController黑屏

JNI 应用挂起