iPhone设备调试

时间:2009-06-11 21:02:44

标签: iphone debugging gdb breakpoints

在设备而不是模拟器上运行iPhone应用程序时,是否可以实际使用Xcode调试器?也就是说,我可以让设备停在我在代码中设置的断点处,并在设备上运行时逐步执行代码吗?

编辑:我应该提一下,我是Apple的注册开发人员并拥有有效证书。事实上,我可以在我的设备上构建和运行iPhone应用程序。但是,即使在调试模式下,当我在设备上运行时,我的应用程序也不会停在断点上或输出到控制台。如果有帮助,当我在模拟器中运行时,我的应用程序在调试模式下正常运行(例如,在断点处停止)。

编辑2:我尝试重置手机,完全删除并重新安装Xcode,创建新项目,更改此页面(以及其他人)的答案中提到的所有设置,清理和构建我的项目,构建和调试...如果我单击暂停,它会显示“调试器出错:退出”。 :(也许我会尝试在另一台计算机上使用Xcode在此设备上进行调试,看看会发生什么。

编辑3:嗯,我尝试在新项目中使用新安装的Xcode来使用另一台计算机,但仍然无法使设备调试工作。我怀疑这是我的iPhone或电缆吗?我想我不是那么无能,以至于我错过了一些如此令人尴尬的事情,但我已经对这里提到的所有建议进行了双重和三重检查。

编辑4:最终让设备调试正常工作。我有一种感觉,我的设备上的低级别的东西导致了问题...我在我的系统上做了什么。但是,我在另一个系统上安装了Xcode,并且在同一设备(使用相同的电缆)上的设备调试工作正常。在此之后,设备调试开始在我原来的机器上运行,让我相信一些奇怪的硬件标志被搞砸了,并且在第二台机器上以某种方式“重置”。无论如何,它现在有效...感谢所有的帮助。 :)

此外,我不确定是否最好不要回答这个问题,或选择最“乐于助人”的答案......

7 个答案:

答案 0 :(得分:10)

是 - 只需使用设备构建。您必须获得证书并进行配置。

这是一个很好的描述:

http://boga.wordpress.com/2008/07/16/debugging-ipod-provision-profilescertificates/

答案 1 :(得分:3)

确保按“Cmd-Y”而不是“Cmd-R”开始调试: - )

答案 2 :(得分:2)

如果没有什么可以提供帮助,你可以尝试最后一招。

如果您的应用程序在您的设备上从XCode成功启动但未在断点处停止 - 请在调试模式启动后尝试按“暂停”按钮。如果您看到应用程序已正确暂停(不对用户的操作做出反应)添加新断点,请按“运行”继续执行应用程序。在某些情况下,停在新的断点可能会有所帮助。

答案 3 :(得分:1)

是的,只需将项目设置为为设备构建。

答案 4 :(得分:1)

如果您需要为越狱iPhone设置调试(最高2.2.1)(尚未向Apple支付99),请按照以下步骤操作:

  • 通过Cydia为您的iPhone安装MobileInstallationPatch(使用“搜索”选项卡)

  • 在XCode处关闭PROVISIONING_PROFILE:转到/Developer/Platforms/iPhoneOS.platform/Info.plist,添加下一个键:

<key>PROVISIONING_PROFILE_ALLOWED</key>
<string>NO</string>
<key>PROVISIONING_PROFILE_REQUIRED</key>
<string>NO</string>
     

您也可以将这些密钥添加到任何密钥中   项目特别是在XCode,Project   构建设置,用户定义   变量

重要!您可能需要先从App Store安装并启动至少一个合法应用(任意免费)(在“Build and Go”步骤之前)。否则,您的应用程序将由XCode成功安装到您的设备,但可能无法启动。如果应用程序启动出现问题,请先尝试进行此问题排查。

答案 5 :(得分:0)

是。调试器和性能工具在设备上运行良好。这就是我进行大部分调试的地方。

答案 6 :(得分:0)

Xcode&gt;偏好设置&gt;调试取消选中lazily加载符号

为我修复了不存在设备问题的断点。

相关问题