启动后将调试器附加到IOS应用程序

问题描述:

我遇到了一个问题,我正在进行故障诊断,这种情况很少发生,而且当我在Xcode下运行时似乎不会发生。启动后将调试器附加到IOS应用程序

是否可以正常运行应用程序(即从Springboard)直到发生问题,然后在该点附加调试器?

如果可能的话,我宁愿在不越狱的情况下这样做。

将设备连接到Mac,在Xcode中选择产品 - >附加到进程 - >按进程标识符(PID)或名称...。在对话框中,输入应用程序的名称,因为它在通过Xcode启动时显示在调试导航器中。

如果应用程序已经运行,调试器将附加到正在运行的进程。如果它没有运行,它将等待应用程序启动,然后附加。

+0

奥莱加工,感谢您的回答。我正在寻找一种方法来做到这一点。警告:无法读取/ var/mobile/Applications/{GUID}/{APPNAME} .app/{APPNAME}的符号(文件不是找到)。当我按XCode中的“停止”按钮时,应用程序终止。看起来它没有找到调试符号,尽管它是以调试模式构建的。有任何想法吗? – Brian 2012-12-15 16:52:52

+2

我有一个问题**如果它没有运行,它将等待应用程序启动,然后附加。**部分。它不起作用。我使用进程名称等待应用程序调用。我在iPhone上启动应用程序,但调试器从未意识到应用程序已启动。 – Jonny 2013-02-07 07:59:57

+1

@BrianV - 如果你想能够附加到进程,你需要确保你正在用-ggdb进行编译。 – itfische 2013-05-17 18:57:11

在Xcode中5.0.1和6是在

Debug > Attach to Process > By Process Identifier (PID) or Name... in Xcode 
+1

也在Xcode 6中。 – Kevin 2014-10-30 17:27:20

在这里我要离开这个因为无论是其他2个答案给了我相当足够的细节,没有斗争的一点点。

  1. 运行在模拟器上你的应用程序并记下名字的调试导航 enter image description here

  2. 插入您的设备,不要忘记选择您的设备作为目标 enter image description here

  3. 调试>附加到进程>按进程标识符(PID)或名称 enter image description here
  4. 输入步骤1中的名称并进行附加。这应该是你所需要做的。 enter image description here
+2

你应该有1000个upvotes。如果没有这个巧妙的技巧,调试通过cutom url方案开始的事情可能会让屁股感到痛苦。非常感谢! – txulu 2015-02-11 16:28:57

+0

我希望看到这个答案之前,我花了20分钟了解我自己:( – 2015-04-01 00:48:04

+4

这工作,它附加到过程,但我不能看到任何日志输出,这是我真的需要。 ?思路 – Orlando 2015-08-08 20:39:27

在Xcode 7这只是: 调试>附加的PID或名称