Error al adjuntar al ID de proceso Xcode

113

¿Alguien ha experimentado este problema? Ayer todavía puedo ejecutar mi aplicación en el simulador, pero ahora no puedo ejecutar mi aplicación ya que Xcode imprime este error en la consola:

error: failed to attach to process ID <ID number>

Captura de pantalla del error

Intenté reinstalar, hacer esta publicación y crear un nuevo proyecto, pero no tuve suerte. ¿Alguien puede resolver este problema?

Uso Xcode 4.5 Preview 2 e intento ejecutar el simulador de iOS 6

Rendy
fuente
Creo que estoy enfrentando exactamente el mismo problema ( stackoverflow.com/questions/11688720/… ) ... el error dado es "no se pudo adjuntar al ID de proceso 0"
PierrOz
1
He descrito una posible solución aquí stackoverflow.com/a/12504712/647644
Lindemann
¿Cómo resolvió este problema? por favor dímelo también. Realmente necesito la solución.
iOS
por favor vea la respuesta aceptada
Rendy
1
Aconsejaría a las personas que prueben la respuesta 'Restablecer el contenido y la configuración en el simulador' antes de probar la respuesta aceptada real de cambiar el depurador.
dartacus

Respuestas:

153

Restablecer el contenido y la configuración en el simulador funcionó para mí. Está disponible en el menú "Simulador de iOS".

Robert Zahm
fuente
1
No funcionó para mí. Todavía muestra una pantalla negra con barra de estado (incluso se limpió el código). Después de cambiar el depurador a GDB como mencionó Imran, mi aplicación se carga bien.
user427969
1
Después de restablecer el contenido y la configuración, salga del simulador y vuelva a iniciarlo. Trabajado como un encanto.
justinkoh
45

vaya al menú Producto y busque el menú Editar esquema allí.

En la ventana Editar esquema, seleccione la opción "Ejecutar" en el lado izquierdo de la pantalla y luego en el lado derecho, cambie el depurador de LLDB a GDB.

Imran
fuente
6
Cambié LLDB a GDB, pero después de eso siempre se muestra como "Adjuntar a MYApp" y muestra los siguientes registros. GNU gdb 6.3.50-20050815 (versión de Apple gdb-1822) (dom 5 de agosto, 03:00:42 UTC de 2012) Copyright 2004 Free Software Foundation, Inc. GDB es un software gratuito, cubierto por la licencia pública general GNU, y usted Bienvenido a cambiarlo y / o distribuir copias del mismo bajo ciertas condiciones. Escriba "mostrar copia" para ver las condiciones. No hay absolutamente ninguna garantía para GDB. Escriba "mostrar garantía" para obtener más detalles. Este GDB se configuró como "x86_64-apple-darwin".
iOS_Developer
8
Tenía dos simuladores (5.1 y 6.0), salí del xcode y restablecí el contenido de ambos simuladores ... es extraño pero funcionó para mí ... :-)
iOS_Developer
32
-1. Este es un gran paso hacia atrás. Restablecer el contenido del simulador soluciona el problema sin tener que cambiar el depurador.
ozz
2
@cdo Restablecer contenido no me funcionó, cambiar el simulador sí
Teofilo Israel Vizcaino Rodrig
4
PODRÍA AYUDAR: Yo también cambié a GDB, ejecuté la aplicación una vez, luego volví a LLDB y ¡funcionó de nuevo! ¡Así que no tiene que renunciar a los beneficios de LLDB! Darle una oportunidad.
Charles
22

Experimenté el mismo problema y, después de un tiempo, descubrí que se debía al hecho de que mi proyecto XCode incluía una Referencia de carpeta a una carpeta llamada Recursos .

Parece que a XCode no le gusta ese nombre.

Simplemente eliminando la referencia de la carpeta o cambiando el nombre de la carpeta resolvió el problema.

Mirko Luchi
fuente
1
Esto me tomó casi un día entenderlo. #fail
Texas
1
Esto funcionó para mí. Después de cambiar el nombre, tuve que reiniciar XCode y Simulator.
Suran
21

DOS MÉTODOS

Método 1 : Dentro de la carpeta Soporte de aplicaciones -> Simulador de iPhone -> En cada versión del simulador de iOS -> Aplicaciones -> Elimine todos los archivos presentes aquí.

Ahora ve a Productos -> Limpiar

Ahora ejecútelo en cualquier simulador y funcionará.

Método 2 :

Toca Restablecer

Ambili B Menon
fuente
2
Este es el único método que funcionó para mí. Cause el problema al nombrar una de mis carpetas Recursos y mató mi proyecto, casi tenía un corazón adjunto. Apple realmente debería hacerlo mejor.
Zack Morris
9

Paso 1: ping

$ ping localhost

Esto debería devolver algo como

PING localhost (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.028 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.048 ms
...

Si esto funciona, esta respuesta no solucionará su problema, intente otra cosa.

Si el ping devuelve algo más, por ejemplo: ping: cannot resolve localhost: Unknown hostalgo está arruinado con su /etc/hostsarchivo, vaya al Paso 2

Paso 2: Verifique / etc / hosts

Compruebe que la parte superior de su /etc/hostsarchivo se vea así

127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost 
fe80::1%lo0     localhost

Si no tiene estas entradas en el archivo, entre ellos en la parte superior del archivo, vaciar la caché DNS usando $ dscacheutil -flushcachey volver al paso 1 , de lo contrario continuar a paso 3 .

Paso 3: formato de archivo correcto: debe ser unix o LF *

$ file /etc/hosts

Esto debería regresar: /etc/hosts: ASCII English text

Si devuelve algo como, /etc/hosts: ASCII English text, with CR line terminators entonces el archivo está en el formato incorrecto y es probable que se ignore.

Cambie las terminaciones de las líneas del archivo a unix o LF con su editor de texto favorito.

  • En Sublime Text 2 esto se puede hacer a través del menú Ver : Ver> Finales de línea> Unix

Vacíe la caché dns ( $ dscacheutil -flushcache) y vuelva al paso 1

Intenciones
fuente
Después de intentar todo lo demás, ¡FINALMENTE resolvió mi problema! ¡Gracias!
Jonás
Recientemente modifiqué etc / hosts, mal - gracias por la respuesta
bdalziel
5

Similar a la respuesta de fundtimer, el archivo de hosts local parece haber sido el culpable.

Tuve que /etc/hostsvolver a cambiar mis permisos a los predeterminados después de un cambio inadvertido:

sudo chmod 644 /etc/hosts

Después de eso, simulador / LLDB funcionó para mí.

amattn
fuente
En mi caso, agregué el archivo de hosts editado para tener esta dirección ':: 1 newlocaldomain.local'
subharb
5

Este es un tema antiguo, pero creo que las cosas han cambiado un poco para la última versión de macOS.

Me encontré con el problema al intentar ejecutar un conjunto de pruebas de IU para una aplicación de iOS en el simulador en macOS Mojave Beta y Xcode 9.4.1.

Resulta que en macOS Mojave la codesignherramienta (que es parte del propio sistema operativo y no de las herramientas de línea de comandos o Xcode) firma procesos en un entorno de ejecución reforzado que incluye la aplicación de la firma del código de ejecución, validación de la biblioteca, hard, kill, y restricciones de depuración. Esto, junto con la protección de integridad del sistema en macOS Mojave, evita que el depurador lldb se conecte al destino en ejecución.

Para resolver esto, tiene las siguientes opciones:

  1. Una obvia, probablemente, es usar Xcode 10. Parece manejar la conexión con elegancia.

  2. Reinicie el sistema operativo en el modo de recuperación y apague la protección de integridad del sistema desde la terminal con csrutil disable. Luego, el depurador se conecta felizmente.

Pasé bastante tiempo golpeándome la cabeza con esto y pude resolverlo todo después de leer el siguiente artículo: http://www.lapcatsoftware.com/articles/debugging-mojave.html

Solo mis dos centavos. Espero que esto ayude a alguien.

eploko
fuente
Pero eso solo tiene sentido ejecutarlo en el simulador (es decir, en MacOS), ¿verdad? Recibo el error ejecutándose en un dispositivo ...
Dylan Nicholson
... lo que resultó ser porque solo estaba instalando la aplicación después de volver a firmar. Una vez que instalé el .ipa completo, estuvo bien.
Dylan Nicholson
4

De alguna manera había eliminado o eliminado registros de mi archivo / etc / hosts y recibí el mismo error. Debe comprobar si tiene en su archivo / etc / hosts la línea "127.0.0.1 localhost". ¡Esto me ayudó!

Pedrouan
fuente
2
Gracias. Tuve este error e intenté todo, nada funcionó. Revisé mi archivo de hosts y estaba vacío, excepto por una línea del antivirus Avast. Avast en realidad escribió sobre mi archivo de hosts previamente personalizado (¿WTH?). Agregué la línea '127.0.0.1 localhost' al archivo de hosts y lo guardé. Luego reinicié el simulador de iPhone, hice una 'limpieza' en Xcode y se inició la próxima vez que ejecuté la aplicación. No más Avast para mí.
Ryan
Sí, tampoco me gusta avast
pedrouan
Me tomó un tiempo averiguar cómo llegar a la carpeta de hosts. Desde el Finder, seleccione el menú "Ir" y elija "Ir a la carpeta ..." Luego ingrese: /private/etc/hosts.txt
Jonah
En realidad, es posible que deba ingresar $ sudo / etc / hosts
pedrouan
Sé que esta es la respuesta de hace un año. Pero me gustaría saber si existe una diferencia entre '127.0.0.1 localhost' y '127.0.0.1 serverchat.local'. ¿Debo eliminar serverchat.local y reemplazarlo con el localhost? Consejo, por favor ...
Melvin Lai
4

Sé que esta es una pregunta antigua, pero se me ocurrió primero cuando hice una búsqueda en Google de "no se pudo adjuntar al ID del proceso". Estoy usando Xcode 7. Ocurrió después de que se lanzó iOS9 y actualicé mi aplicación Swift para Swift 2.

Eliminar mi aplicación en el simulador y hacer una nueva compilación y ejecutarla aclaró.

Christopher Larsen
fuente
1
Similar aquí también, excepto que acabo de hacer clic en la aplicación EN el simulador y apareció, pero luego tuve problemas para detenerla. Al final, simplemente reinicié el simulador.
MCB
2

Acabo de eliminar la aplicación del simulador (como lo haría en un dispositivo real), y cuando la volví a ejecutar, todo funcionó bien.

Nic Foster
fuente
2

También tengo el mismo problema y para mí la solución es: -

Simplemente elimine la aplicación del Simulador y luego borre y ejecute el proyecto.

Que también ayude a alguien más.

Muhammad Rizwan
fuente
1

Acabo de publicar esto en el Foro de desarrolladores. Fue una solución simple y puede ayudar a alguien aquí:

Tuve exactamente el mismo problema: cuando usaba cualquier versión actual de Xcode 4.xx y el depurador LLDB, además de cualquier versión del Simulador, XCode fallaba constantemente con 'no se pudo conectar al proceso ...' Mi única resolución fue cambiar a el depurador de GDB. Esto fue decepcionante, ya que tenía muchas ganas de probar el nuevo y robusto LLDB en XCode 4.6-DP.

Y luego me acordé; Había cambiado mi archivo de host de red / servidor en ... etc / hosts hace algún tiempo para acomodar varios hosts virtuales de servidor Apache2, es decir, eliminé la línea:

127.0.0.1 locahost

Eso fue todo. Al eliminar esa línea, XCode se bloqueó al conectarse al Simulador con LLDB. Restaurando esa línea, XCode funcionó bien con LLDB y el Simulador.

De todos modos, puede que este no sea tu problema, pero vale la pena explorarlo. En lo que a mí respecta, es un error indocumentado grave.

temporizador de fondos
fuente
1

Tuve el mismo problema al depurar en el dispositivo. La aplicación se bloqueó al iniciarse, pero no apareció como un proceso en ejecución.

Mi solución es usar alguna aplicación de visor de procesos (por ejemplo, Estado del sistema o similar). Busque su aplicación obsoleta y luego busque la identificación del proceso principal, que generalmente es debugserver .

Vaya a Xcode, Producto -> Adjuntar al proceso -> Por ID de proceso y adjúntelo al PID del proceso del depurador . Espere un segundo y luego presione el botón Detener .

Los procesos obsoletos del depurador y la aplicación desaparecen.

(Al usar el simulador, el equivalente sería usar el terminal, ps, y matar el proceso de la aplicación. No lo he probado, sin embargo).

Ramon Poca
fuente
Me encontré con este error antes y después de golpearme la cabeza contra esto durante la última media hora, esto me llevó a solucionarlo. Muchas gracias, hombre. '
Gowiem
1

En mi caso, la solución fue diferente: el modo de ejecución fue "Release". Cambiar a "Depurar" lo solucionó. Xcode 4.5.x no tuvo ningún problema con eso.

orip
fuente
1

El problema para mí fue causado por un error bastante estúpido: creé un nuevo objetivo para mi proyecto duplicando un objetivo existente y olvidé cambiar el identificador de paquete en el archivo info.plist del objetivo.

mwidmann
fuente
1

Solucioné este problema eliminando el contenido de datos derivados de Xcode.

En el buscador, presione SHIFT + CMD + G y escriba debajo de la ruta y elimine todos los datos dentro de DerivedData:

  ~/Library/Developer/Xcode/DerivedData

ingrese la descripción de la imagen aquí

También restablece las compilaciones del simulador

     ~/Library/Application Support/iPhone Simulator/6.0/Applications 
Gurú
fuente
1

La respuesta anterior realmente me ayudó. https://stackoverflow.com/a/12819757/1752988 Porque en mi XCode usé storyboard y controlador de vista personalizado. y en su lista de advertencias vi que faltaban algunos archivos de plumilla. Me sentí guiada por ver eso. Sin embargo, vi esta respuesta, y aunque no me gustaba restablecer el contenido del simulador de mi aplicación, lo hice y realmente funcionó para mí.

Y también Cambiar el depurador de Producto -> Esquema -> Editar esquema (Ejecutar) de LLDB a GDB tampoco funcionó para mí.

Ps: - Disculpe, agregué esta respuesta como un comentario de apoyo a lo anterior, ya que no tengo 15 votos positivos de reputación por la respuesta anterior o 50 puntos de reputación para comentar arriba.

Randika Vishman
fuente
1

Resolví este problema saliendo de XCode y Simulator. Reabrir el proyecto. Hecho.

Jayprakash Dubey
fuente
1

Lo siguiente funcionó para mí en iOS 9.1:

  1. Simplemente desinstale la aplicación del simulador
  2. Salir del simulador (Cmd + Q)
  3. Limpia tu proyecto de Xcode
  4. Ejecutar en simulador

Nota: No es necesario reiniciar el simulador.

Arjun Shukla
fuente
1

Estoy trabajando en la aplicación Ionic 2, soy nuevo en esto e incluso en Xcode y simulador.
Inicialmente, mi aplicación estaba funcionando en el simulador, pero después de un tiempo comenzó a generar un error como:
error xcode: no se pudo adjuntar a la identificación del proceso

Busqué, probé todas las respuestas anteriores pero mi problema no se resolvió.
Luego actualicé ( Ionic , npm , cordova ) la configuración de mi máquina-

******************************************************
 Dependency warning - for the CLI to run correctly,      
 it is highly recommended to install/upgrade the following:     

 Install ios-deploy to deploy iOS applications to devices.  `npm install -g ios-deploy` (may require sudo)

******************************************************

Your system information:

Cordova CLI: 6.4.0 
Ionic Framework Version: 2.0.0-beta.10
Ionic CLI Version: 2.1.8
Ionic App Lib Version: 2.1.4
ios-deploy version: Not installed
ios-sim version: 5.0.8 
OS: OS X Yosemite
Node Version: v6.2.2
Xcode version: Xcode 7.2 Build version 7C68



******************************************************

Después de esto, simplemente ejecuto un comando desde el directorio de inicio de mi aplicación

  1. ejecución iónica -l
  2. ios de construcción iónica.
  3. cambios de xcode importados a xcode.
  4. Restablecer contenido y configuración
    ingrese la descripción de la imagen aquí
  5. borrar producto de xcode,
    ingrese la descripción de la imagen aquí
  6. Ejecute Xcode y ahora está funcionando en el simulador.

Feliz de ver esto !!!

S. Yadav
fuente
1

Tantas respuestas a esto y no vi cuál creo que es la correcta. Es un problema de autorización. Escriba esto en la Terminal:

sudo DevToolsSecurity -enable

tripulación
fuente
1

En Xcode 9+, haga lo siguiente: Vaya al menú Xcode: Product-Scheme - Edit Scheme y en la pestaña Run asegúrese de que la casilla de verificación Debug Executable esté marcada. ¡Eso es!

ingrese la descripción de la imagen aquí

joan
fuente
Por extraño que parezca, desmarcar la casilla lo hace funcionar: /
hyouuu
0

Simplemente restablezca el contenido y la configuración del simulador de iOS y luego limpie el código presionando las teclas command + shift + k para limpiar el código.

Rosa del desierto
fuente
0

Por poco convincente que sea, reiniciar mi computadora fue la única solución que funcionó. Intenté cambiar de LLDB a GDB, restablecer el contenido del Simulador y reiniciar Xcode. Lo único que funcionó fue reiniciar mi computadora, volver a abrir Xcode y volver a ejecutar la aplicación.

Jeff Grimes
fuente
0

Yo tuve el mismo problema. Hice algunas combinaciones de respuestas para que funcionara. :)

Limpie la carpeta de compilación haciendo clic en "Producto" en la barra de menús. mientras presiona la tecla Alt, haga clic en "Limpiar carpeta de compilación". Ahora reinicia tu xcode y simulador. Ahora debería funcionar. si no es así, también intente cambiar el identificador del paquete y el "Restablecimiento de contenido" del simulador y luego reinicie xcode y el simulador.


fuente
0

Me encontré con esto hoy. Eliminé accidentalmente mis imágenes de lanzamiento de mi configuración de destino.

PWiggin
fuente
0

intenta hacer los siguientes pasos:

  • Vaya a Producto / Esquema / Editar esquema y luego seleccione Ejecutar sección.
  • Seleccione Info Tan y configure el depurador Ninguno.
  • Ejecutar proyecto. Debe estar funcionando (sin depurador)
  • Vuelva a Editar esquema y seleccione el depurador LLDB
  • Ejecutar proyecto. Está funcionando.

Tal vez, además, necesite eliminar los datos derivados y hacer Product / Clean

Philip J. Fry
fuente
0

¿Tiene varios usuarios conectados a su máquina? Tengo cuentas "personales" y "laborales" en mi computadora portátil. Recibí este error cuando intentaba depurar desde mi cuenta personal, pero había dejado el simulador ejecutándose en mi cuenta de trabajo. Salir del simulador en la otra cuenta solucionó mi problema.

bugloaf
fuente
0

y otro para el registro: (ninguna de las sugerencias me funcionó)

León de montaña: XCode 4.6.3

  • Yo moved the whole Application to Trashy borré siguiendo otras carpetas
  • /Users/[USERNAME]/Library/Developer
  • /Users/[USERNAME]/Library/Caches/com.apple.dt.XCode
  • /Users/[USERNAME]/Library/Application Support/iPhone Simulator

  • reiniciar el sistema y reinstalar XCode

longi
fuente
0

También tuve el mismo problema hoy. Estaba usando Xcode 4.6.3. Cerré mi proyecto y lo abro en Xcode 5 y está funcionando perfectamente.

Extraño pero cierto

Mohit
fuente
para mí es una respuesta porque resolvió mi pregunta ok
Mohit