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

Loc*_*eyu 96 debugging xcode ios

我有一个问题,我正在排除故障,很少发生,当我在Xcode下运行时似乎没有发生.

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

如果可能的话,我更愿意在没有越狱的情况下这样做.

Ole*_*ann 114

  • 将您的设备连接到Mac上
  • 使用旧版本的Xcode:

    产品 - >附加到流程 - >按流程标识符(PID)或名称...

    版本7.2+(已验证为9.2):

    调试 - >通过PID或名称附加到进程

  • 在对话框工作表中,输入通过Xcode启动时在Debug导航器中显示的应用程序名称.

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

  • 注意:在Xcode 5.0.1+中,它是`Debug> Attach to Process> By Process Identifier(PID)或Name`http://stackoverflow.com/a/20193088/175830 (4认同)
  • 我有一个问题**如果它没有运行,它将等待应用程序启动然后附加.**部分.它不起作用.我使用进程名称等待应用程序调用.我在iPhone上启动应用程序,但调试器从未意识到应用程序已启动. (3认同)
  • 我同意强尼的观点; 我的经验是附件在模拟器上工作,但不会附加到实际设备上. (3认同)

Ada*_*hns 110

我会把它留在这里,因为其他两个答案都没有给我足够的细节而没有一点点的斗争.

  1. 在模拟器中运行您的应用程序,并在Debug导航器中记下该名称 在此输入图像描述

  2. 插入您的设备,不要忘记选择您的设备作为目标 在此输入图像描述

  3. 调试>附加到进程>按进程标识符(PID)或名称 在此输入图像描述
  4. 输入步骤1中的名称并附加.这应该是你所要做的. 在此输入图像描述

  • 你应该有1000个upvotes.调试通过cutom url方案启动的东西可能是一个痛苦的屁股没有这个巧妙的技巧.非常感谢! (8认同)
  • 这适用于它附加到进程,但我看不到任何日志输出,这是我真正需要的.有任何想法吗? (6认同)
  • 我希望在我花20分钟自己解决这个问题之前看到这个答案:( (2认同)
  • @Orlando - 如果您正在寻找日志输出,我强烈推荐DeviceConsole:https://github.com/rpetrich/deviceconsole (2认同)
  • 我完全按照你的建议做了。我得到错误:`无法附加到 PID` 我尝试了名称和它的 ID。我在应用程序运行和停止时尝试过.. (2认同)

PiT*_*ber 48

在Xcode 5.0.1和6中它是

Debug > Attach to Process > By Process Identifier (PID) or Name... in Xcode
Run Code Online (Sandbox Code Playgroud)


Jap*_*pes 7

在XCode 7中,它只是:Debug> Attach by PID或Name