I have an issue I am troubleshooting which occurs very infrequently and doesn’t seem to happen when I have things running under Xcode.
Is it possible to run an app normally (i.e. from Springboard) until my issue occurs, and then attach a debugger at that point?
I would prefer to do this without jailbreaking if possible.
With your device connected to your Mac, select Product -> Attach to Process -> By Process Identifier (PID) or Name… in Xcode. In the dialog sheet, enter the name of your app as it appears in the Debug navigator when started via Xcode.
If the app is already running, the debugger will attach to the running process. If it isn’t running, it will wait for the app to launch and then attach.
I’ll leave this here since neither of the other 2 answers gave me quite enough detail without a little bit of a struggle.
Run your app in the simulator and take note of the name in the Debug navigator
Plug in your device and don’t forget to select your device as the target
- Debug > Attach to Process > By Process Identifier (PID) or Name
- Enter the name from step 1 and attach. That should be all you have to do.
In Xcode 5.0.1 and 6 it is in
Debug > Attach to Process > By Process Identifier (PID) or Name... in Xcode
In XCode 7 it’s just:
Debug > Attach to Process by PID or Name