El punto de interrupción XCode debería suspender solo el hilo actual.

Necesito depurar un error de subprocesss múltiples. Entonces, para tener la condición que genera el locking, necesito detener un subprocess en un punto específico de mi código y esperar a que otro subprocess scope un segundo punto de interrupción.

El problema que tengo ahora es que si un hilo golpea un punto de interrupción, todos los demás hilos están suspendidos. ¿Hay alguna manera de detener solo un hilo y dejar que los otros corran hasta que scopen el segundo punto de interrupción?

Sé de dos maneras: si te encuentras con el primer punto de interrupción deberías ver el browser de debugging en el lado izquierdo de xcode con una list de hebras actualmente en ejecución. El hilo en el que está actualmente debe expandirse. Haga clic derecho en este hilo y select 'suspender hilo'. Eso es todo.

Si luego desea continuar, puede simplemente hacer clic en la hoja de vida. (¡Para poder ver los hilos, la ejecución tiene que estar en pausa, así que debes estar en un punto de quiebre para hacer esto o detener la aplicación tú mismo!)

Otra opción más divertida:

Cuando llegue al primer punto de interrupción, puede entrar a la console y escribir

po [NSThread sleepForTimeInterval:3600] 

que debe detener el hilo en el context actual en ese punto de interrupción durante una hora.

Luego reanude la ejecución en Xcode.