iPhone 设备调试

15

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

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

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

编辑3:好吧,我尝试在另一台安装了全新Xcode的计算机上使用,但仍无法使设备调试工作。我怀疑是我的iPhone或电缆的问题?我想我没有那么无能,以至于会错过如此令人尴尬显而易见的事情,但我已经多次检查了所有在这里提到的建议。

编辑4:终于让设备调试工作了。我有一种感觉,是我设备上的某些底层问题引起了问题...我所做的任何事情都不能在我的系统上工作。但是,在另一台机器上安装了Xcode之后,使用相同的设备(使用相同的电缆)进行设备调试完美地工作。在那之后,设备调试开始在我的原始计算机上工作,这让我相信某些奇怪的硬件标志已经出了问题,并在第二台机器上“重置”。无论如何,现在它可以使用...感谢所有帮助。:)

此外,我不确定是最好保持此问题未回答还是选择最“有帮助”的答案...


1
Lucas,我认为正确的做法是编辑你的问题以明确你的问题,并给出一个你自己接受的答案。因此,我可能会将至少一些编辑移动到该答案中。 - cregox
我真的不明白我的问题,即使经过编辑,为什么还是不够清晰明了。 - CIFilter
抱歉,我是说更短。要短得多。 :P - 你的问题标题已被 Lou Franco 回答,但你实际的问题与之不同,你可以将其作为一个回答而不是一个编辑自己回答。 - cregox
我明白你的意思。是的,对不起。 - CIFilter
非常好的问题,谢谢! - Vladimir Despotovic
7个回答

10

我觉得这是一件微不足道的事情。我有证书和配置文件。应用程序可以在我的设备上运行,但它不会在断点处停止或输出到控制台。是的,我正在使用调试模式下的设备构建。我想知道我搞砸了什么。 :-\ 我会查看那个链接并回复你。 - CIFilter
您提供的链接虽然信息丰富,但并不适用于我的问题。请查看我上面原始的、新编辑过的问题描述。谢谢! - CIFilter
1
XCode有许多令人烦恼的方式可以决定忽略断点。我认为我至少经历了其中的3种。https://dev59.com/5XVD5IYBdhLWcg3wKoSH - Nosredna

4
请确保通过按“Cmd-Y”开始调试,而不是“Cmd-R”:-)

2

如果没有什么方法可帮助您,您可以尝试最后一招。

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


在升级从4.2到4.3之后,XCode也遇到了类似的问题,无法在断点处停止。这个方法对我起作用了。 - Jason George

1
如果您需要为越狱的iPhone(最高版本为2.2.1)设置调试(尚未向苹果支付99美元),请按照以下步骤操作:
  • 通过Cydia安装MobileInstallationPatch到您的iPhone上(使用搜索选项卡)

  • 在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>

You may also add these keys to any project particularly at XCode, Project Build Settings, User-Defined variables.

重要提示!在“构建并运行”步骤之前,您可能需要先安装和启动至少一个合法应用程序(任何免费应用程序)来自App Store。否则,XCode会成功将您的应用程序安装到设备上,但可能无法启动。如果应用程序无法启动,请首先尝试此故障排除方法。


1

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


0

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


0

Xcode>偏好设置>调试,取消勾选“懒加载符号”

这对我解决了设备上断点无法保持的问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接