【问题标题】:iPhone Device DebuggingiPhone 设备调试
【发布时间】:2010-11-02 06:57:39
【问题描述】:

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

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

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

编辑 3:好吧,我尝试使用另一台计算机在新项目中使用全新安装的 Xcode,但我仍然无法进行设备调试。我怀疑它可能是我的 iPhone 或电缆?我想我并没有那么无能,以至于我错过了一些如此令人尴尬的显而易见的事情,但我已经仔细检查了这里提到的所有建议。

编辑 4:终于让设备调试工作。我有一种感觉,我的设备上的一些低级别的东西导致了问题......我在我的系统上没有做任何事情。但是,我在另一个系统上安装了 Xcode,并且在同一设备(使用同一根电缆)上进行的设备调试工作完美无缺。紧接着,设备调试开始在我原来的机器上工作,让我相信一些奇怪的硬件标志被搞砸了,并以某种方式在第二台机器上“重置”。无论如何,它现在可以工作了......感谢所有帮助。 :)

另外,我不确定是不回答这个问题还是选择最“有用”的答案更好...

【问题讨论】:

  • 卢卡斯,我相信正确的做法是编辑您的问题以明确您的问题,然后您自己给出一个您接受的答案。所以,我可能会至少对该答案进行一些编辑。
  • 我真的不明白我的问题及其编辑如何并不完全清楚。
  • 对不起,我的意思是更短。短了很多。 :P - Lou Franco 回答了您的问题标题,但您的实际问题完全不同,您可以自己回答而不是编辑。
  • 我明白你的意思。是的,很抱歉。
  • 好问题,谢谢!

标签: iphone debugging gdb breakpoints


【解决方案1】:

是的 - 只需使用设备构建。您必须获得证书并提供它。

这是一个很好的描述:

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

【讨论】:

  • 我认为这是一件微不足道的事情。我确实有认证和配置文件。该应用程序将在我的设备上运行,但不会在断点处停止或输出到控制台。是的,我在调试模式下使用设备构建。我想知道我搞砸了什么。 :-\我会看看那个链接然后回复你。
  • 您提供的链接虽然内容丰富,但不适用于我的特定问题。请参阅上面我原来的、新编辑的问题。谢谢!
  • XCode 可以通过多种方式决定忽略断点。我想我至少经历过其中的3个。 stackoverflow.com/questions/64790/…
【解决方案2】:

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

【讨论】:

    【解决方案3】:

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

    【讨论】:

      【解决方案4】:

      如果您需要为越狱的 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,项目 构建设置,用户定义 变量。

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

      【讨论】:

        【解决方案5】:

        Xcode>preferences>debuging uncheck load symbols lazily

        为我修复了设备问题中的断点问题。

        【讨论】:

          【解决方案6】:

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

          【讨论】:

            【解决方案7】:

            如果没有任何帮助,你可以尝试最后一招。

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

            【讨论】:

            • 从 4.2 升级到 4.3 后,XCode 没有在断点处停止类似的问题。这对我有用。
            猜你喜欢
            • 2011-04-12
            • 1970-01-01
            • 2013-12-22
            • 2011-05-29
            • 2012-12-21
            • 2011-10-18
            • 2012-12-06
            • 2012-10-19
            • 1970-01-01
            相关资源
            最近更新 更多