【问题标题】:Xcode debugging two applications / An App that requires another app to start upXcode调试两个应用程序/一个需要另一个应用程序启动的应用程序
【发布时间】:2018-01-11 16:05:06
【问题描述】:

我是 Objective-C 开发的新手,或者实际上是 XCode 和 Mac 开发,如果这是一个非常简单的问题,我深表歉意,但我得到了一个遗留产品来维护,它内置在一个稍微不寻常的地方方式。

基本上,解决方案分为 3 个项目,一个是主要项目,另外两个是次要项目。主要项目启动一个流程,该流程又启动另外两个流程(两个次要项目)。

我正在尝试调试其中一个辅助项目,但我无法正确调试它(通过断点等),因为辅助进程需要主进程启动它,否则它会自动关闭。我尝试使用 Xcode 的“通过 PID 或名称附加到进程”功能,它部分成功,但提供了有限的调试功能(无断点、有限的变量检查等),这并不像我想的那么有用希望。

有没有办法以某种方式调试具有完整调试功能的辅助进程,或者能够从 xcode 实例调试和运行主进程中调试其中一个辅助进程?还是我在这里搞砸了。

tl;dr - 需要启动另一个应用程序的进程的完整 xcode 调试能力(自行启动会导致它立即关闭,它需要与主应用程序交互才能正常运行) - 可能吗?还是有我遗漏的解决方法?

【问题讨论】:

  • 最简单的方法是注释掉导致应用程序关闭的代码,如果其他应用程序没有打开它。您可以检查构建是否处于发布模式或调试状态,并让它自动启用或禁用关闭您的应用程序的代码。在这里查看如何做到这一点:stackoverflow.com/questions/9063100/…
  • 我已经考虑过/尝试过,但正如我原帖底部所说,不幸的是,它需要与主应用程序交互才能正常运行。不过,如果一切都失败了,我可能会研究模拟/规避这些交互需要多少工作。

标签: ios objective-c xcode debugging


【解决方案1】:

“通过 PID 或名称附加到进程”本身并不限制调试功能。 (我自己也成功使用过这个功能,推荐here等)

确保在通过 Primary 进程启动之前,您已从 Xcode 重建并安装了 Secondary 项目,这样您就知道您拥有正在运行的构建的正确调试符号。

【讨论】:

    【解决方案2】:

    试试这个。 转到编辑方案并将启动设置为“等待启动可执行文件”

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-03
      相关资源
      最近更新 更多