Falha ao anexar ao ID do processo Xcode

113

Alguém já passou por esse problema? Ontem ainda consigo executar meu aplicativo no simulador, mas agora não consigo executar meu aplicativo, pois o Xcode imprime este erro no console:

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

Captura de tela para erro

Já tentei reinstalar, fazer esse post e criar um novo projeto mas não tive sorte. Alguém pode resolver esse problema?

Eu uso o Xcode 4.5 Preview 2 e tento executar o simulador iOS 6

Rendy
fonte
Acho que estou enfrentando exatamente o mesmo problema ( stackoverflow.com/questions/11688720/… ) ... o erro fornecido é "falha ao anexar ao ID do processo 0"
PierrOz
1
Descrevi uma possível solução aqui stackoverflow.com/a/12504712/647644
Lindemann
Como você resolveu esse problema? por favor me diga também. eu realmente preciso da solução.
IOS
veja a resposta aceita
Rendy
1
Aconselho as pessoas a tentarem a resposta 'Redefinir o conteúdo e as configurações no simulador' antes de tentar a resposta real aceita de alterar o depurador.
dartacus de

Respostas:

153

Redefinir o conteúdo e as configurações no simulador funcionou para mim. Está disponível no menu "iOS Simulator".

Robert Zahm
fonte
1
Não funcionou para mim. Ainda mostra uma tela preta com barra de status (até limpou o código). Depois de alterar o depurador para GDB como Imran mencionou, meu aplicativo carrega bem.
user427969
1
Após redefinir o conteúdo e as configurações, saia do simulador e inicie-o novamente. Funcionou como um encanto.
justinkoh
45

vá para o menu Produto e encontre o menu Editar Esquema lá.

Na janela Editar Esquema, selecione a opção "Executar" no lado esquerdo da tela e, em seguida, no lado direito, altere o depurador de LLDB para GDB.

Imran
fonte
6
Mudei LLDB para GDB, mas depois disso sempre aparece como "Anexando ao MYApp" e mostrando os seguintes logs. GNU gdb 6.3.50-20050815 (Apple versão gdb-1822) (Sun Aug 5 03:00:42 UTC 2012) Copyright 2004 Free Software Foundation, Inc. GDB é um software livre, coberto pela GNU General Public License, e você é Bem-vindo a alterá-lo e / ou distribuir cópias sob certas condições. Digite "show copying" para ver as condições. Não há absolutamente nenhuma garantia para o GDB. Digite "mostrar garantia" para obter detalhes. Este GDB foi configurado como "x86_64-apple-darwin".
iOS_Developer
8
Eu estava tendo dois simuladores (5.1 e 6.0), feche o xcode e redefina o conteúdo de ambos os simuladores ... é estranho, mas funcionou para mim .... :-)
iOS_Developer
32
-1. Este é um grande retrocesso. A redefinição do conteúdo do simulador corrige o problema sem ter que alterar o depurador.
ozz
2
@cdo Reiniciar o conteúdo não funcionou para mim, mudar o simulador sim
Teofilo Israel Vizcaino
4
PODE AJUDAR: eu também mudei para GDB, executei o aplicativo uma vez, voltei para LLDB e funcionou novamente! Portanto, você não precisa abrir mão dos benefícios do LLDB! De uma chance.
Charles
22

Eu tive o mesmo problema e, depois de um tempo, descobri que era devido ao fato de meu projeto XCode incluir uma Referência de pasta para uma pasta chamada Recursos .

Parece que o XCode não gosta desse nome.

Apenas remover a referência da pasta ou renomear a pasta resolveu o problema.

Mirko Luchi
fonte
1
Isso me levou quase um dia para descobrir. #fail
Texas
1
Isso funcionou para mim. Após renomear, tive que reiniciar o XCode e o Simulador.
Suran,
21

DOIS MÉTODOS

Método 1 : Dentro da pasta Application Support -> iPhone Simulator -> Em cada versão do simulador do iOS -> Applications -> Delete todos os arquivos aqui presentes.

Agora vá para Produtos -> Limpar

Agora execute-o em qualquer simulador e ele funcionará.

Método 2 :

Toque em Reset

Ambili B Menon
fonte
2
Este é o único método que funcionou para mim. Eu causei o problema ao nomear um dos recursos da minha pasta e isso matou meu projeto, quase teve um apego de coração. A Apple realmente deveria fazer melhor.
Zack Morris
9

Passo 1: ping

$ ping localhost

Isso deve retornar 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
...

Se funcionar, esta resposta não resolverá o seu problema, tente outra coisa.

Se o ping retornar algo diferente, por exemplo: ping: cannot resolve localhost: Unknown hostalgo está errado com o seu /etc/hostsarquivo, vá para a Etapa 2

Etapa 2: verifique / etc / hosts

Verifique se a parte superior do seu /etc/hostsarquivo se parece com isto

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

Se não houver essas entradas no arquivo, digite-as no início do arquivo, libere o cache de DNS usando $ dscacheutil -flushcachee volte para a Etapa 1 , caso contrário, continue com a Etapa 3 .

Passo 3: Formato de arquivo correto: deve ser unix ou LF *

$ file /etc/hosts

Isso deve retornar: /etc/hosts: ASCII English text

Se retornar algo como /etc/hosts: ASCII English text, with CR line terminators , o arquivo está no formato errado e provavelmente está sendo ignorado.

Altere as terminações de linha do arquivo para unix ou LF usando seu editor de texto favorito.

  • No Sublime Text 2, isso pode ser feito através do menu view: View> Line Endings> Unix

Limpe o cache de DNS ( $ dscacheutil -flushcache) e volte para a etapa 1

Intenções
fonte
Depois de tentar de tudo, isso FINALMENTE resolveu meu problema! Obrigado!
Jonah
Eu modifiquei recentemente etc / hosts, mal - obrigado pela resposta
bdalziel
5

Semelhante à resposta do fundtimer, o arquivo de hosts local parece ter sido o culpado.

Tive que mudar minhas /etc/hostspermissões de volta para o padrão após uma alteração inadvertida:

sudo chmod 644 /etc/hosts

Depois disso, o simulador / LLDB funcionou para mim.

Amattn
fonte
No meu caso, adicionei o arquivo de hosts editado para ter este endereço ':: 1 newlocaldomain.local'
subharb
5

Este é um tópico antigo, mas acredito que as coisas mudaram um pouco na versão mais recente do macOS.

Eu tropecei no problema ao tentar executar um conjunto de testes de IU para um aplicativo iOS no simulador no macOS Mojave Beta e Xcode 9.4.1.

Acontece que, no macOS Mojave, a codesignferramenta (que é parte do próprio sistema operacional e não das ferramentas de linha de comando ou Xcode) assina processos em um ambiente de tempo de execução reforçado que inclui aplicação de assinatura de código de tempo de execução, validação de biblioteca, hard, kill, e restrições de depuração. Isso, junto com a proteção de integridade do sistema no macOS Mojave, evita que o depurador lldb se conecte ao destino em execução.

Para resolver isso, você tem as seguintes opções:

  1. Um óbvio, provavelmente, é apenas usar o Xcode 10. Ele parece lidar com a conexão normalmente.

  2. Reinicialize o sistema operacional no modo de recuperação e desligue a proteção de integridade do sistema no terminal com csrutil disable. O depurador então se conecta perfeitamente.

Passei muito tempo batendo a cabeça nisso e fui capaz de resolver tudo depois de ler o seguinte artigo: http://www.lapcatsoftware.com/articles/debugging-mojave.html

Apenas meus dois centavos. Espero que isso ajude alguém.

Eploko
fonte
Mas isso só faz sentido rodar no simulador (ou seja, no MacOS) certo? Estou recebendo o erro ao executar em um dispositivo ...
Dylan Nicholson
... que acabou acontecendo porque eu só estava instalando o .app depois de assinar novamente. Depois de instalar o .ipa completo, tudo bem.
Dylan Nicholson,
4

De alguma forma, eu havia removido ou excluído registros do meu arquivo / etc / hosts e recebi o mesmo erro. Você deve verificar se tem em seu arquivo / etc / hosts a linha "127.0.0.1 localhost". Isso me ajudou!

Pedrouan
fonte
2
Obrigado. Tive esse erro e tentei de tudo, nada funcionou. Eu verifiquei meu arquivo hosts e ele estava vazio, exceto por uma linha do antivírus Avast. O Avast realmente escreveu sobre o meu arquivo de hosts personalizado anteriormente (WTH?)! Eu adicionei a linha '127.0.0.1 localhost' ao arquivo hosts e salvei-o. Então eu reiniciei o simulador do iPhone, fiz uma 'limpeza' no Xcode e ele começou na próxima vez que executei o aplicativo. Chega de Avast para mim.
Ryan
Sim, eu também não gosto do avast
pedrouan,
Levei um tempo para descobrir como chegar à pasta hosts. No Finder, selecione o menu "Ir" e escolha "Ir para a pasta ..." Em seguida, digite: /private/etc/hosts.txt
Jonah
Na verdade, você pode precisar inserir $ sudo / etc / hosts
pedrouan
Eu sei que esta é a resposta de um ano atrás. Mas gostaria de saber se existe alguma diferença entre '127.0.0.1 localhost' e '127.0.0.1 serverchat.local'. Devo remover o serverchat.local e substituí-lo pelo localhost? Conselhos, por favor ...
Melvin Lai
4

Eu sei que essa é uma pergunta antiga, mas ela surgiu primeiro para mim quando fiz uma pesquisa no Google por "falha ao anexar ao ID do processo". Estou usando o Xcode 7. Aconteceu depois que o iOS9 foi lançado e eu atualizei meu aplicativo swift para o swift 2.

Excluir meu aplicativo no simulador e fazer uma nova compilação e execução o esclareceu.

Christopher Larsen
fonte
1
Semelhante aqui também, exceto que eu apenas cliquei no aplicativo NO simulador e ele apareceu, mas teve problemas para parar. No final, acabei de reiniciar o simulador.
MCB de
2

Acabei de remover o aplicativo do simulador (assim como você faria em um dispositivo real) e, quando o executei novamente, tudo funcionou bem.

Nic Foster
fonte
2

Eu também tenho o mesmo problema e para mim a solução é: -

Basta excluir o aplicativo do Simulador e, em seguida, limpar e executar o projeto.

Que ajude também a outra pessoa.

Muhammad Rizwan
fonte
1

Acabei de postar isso no Fórum de desenvolvedores. Foi uma solução simples e pode ajudar alguém aqui:

Eu tive exatamente o mesmo problema: ao usar qualquer versão atual do Xcode 4.xx e o depurador LLDB, além de qualquer versão do Simulador, o XCode travava consistentemente com 'falha ao anexar ao processo ...' Minha única resolução era mudar para o depurador GDB. Isso foi decepcionante, pois eu realmente queria experimentar o novo e robusto LLDB no XCode 4.6-DP.

E então me lembrei; Eu havia alterado meu arquivo de host de rede / servidor em ... etc / hosts há algum tempo para acomodar vários hosts virtuais de servidor Apache2, ou seja, removi a linha:

127.0.0.1 locahost

Foi isso. Removendo essa linha, o XCode travava ao conectar-se ao Simulador com LLDB. Restaurando essa linha, o XCode funcionou perfeitamente com o LLDB e o Simulador.

De qualquer forma, pode não ser problema seu, mas vale a pena explorar. No que me diz respeito, é um bug sério e não documentado.

fundtimer
fonte
1

Eu tive o mesmo problema ao depurar no dispositivo. O aplicativo travou ao iniciar, mas não apareceu como um processo em execução.

Minha solução é usar algum aplicativo visualizador de processo (por exemplo, System Status ou similar). Encontre seu aplicativo obsoleto e, em seguida, encontre o ID do processo pai, que geralmente é debugserver .

Vá em Xcode, Product -> Attach to Process -> By process id e anexe ao PID do processo debugserver . Espere um segundo e pressione o botão Parar .

Os processos obsoletos do servidor de depuração e do aplicativo desaparecem.

(Ao usar o simulador, o equivalente seria usar o terminal, ps, e matar o processo do App. Mas ainda não tentei).

Ramon Poca
fonte
Eu encontrei esse bug antes e depois de bater minha cabeça contra isso pela última meia hora ou então isso levou à minha correção. Muito obrigado, cara. '
Gowiem de
1

No meu caso a solução era diferente: o modo de execução era "Release". Mudar para "Debug" corrigiu isso. O Xcode 4.5.x não teve nenhum problema com isso.

orip
fonte
1

O problema para mim foi causado por um erro bastante estúpido: criei um novo destino para meu projeto duplicando um destino existente e esqueci de alterar o identificador de pacote no arquivo info.plist do destino.

mwidmann
fonte
1

Corrigi esse problema removendo o conteúdo de dados derivados do Xcode.

No localizador, pressione SHIFT + CMD + G e digite o caminho abaixo e remova todos os dados dentro de DerivedData:

  ~/Library/Developer/Xcode/DerivedData

insira a descrição da imagem aqui

Também redefina as construções do simulador

     ~/Library/Application Support/iPhone Simulator/6.0/Applications 
Guru
fonte
1

A resposta acima realmente me ajudou. https://stackoverflow.com/a/12819757/1752988 Porque no meu XCode eu usei storyboard e controlador de visualização customizada. e em sua lista de avisos que vi alguns dos arquivos nib estão faltando. Eu fui levado por ver isso. No entanto, vi essa resposta e, embora não gostasse de redefinir o conteúdo do meu simulador de aplicativo, fiz isso e realmente funcionou para mim.

E também alterar o depurador de Produto -> Esquema -> Editar esquema (Executar) de LLDB para GDB também não funcionou para mim.

Ps: - Perdoe-me, adicionei esta resposta como um comentário de apoio ao acima, pois não tenho 15 pontos de reputação para votar na resposta acima ou 50 pontos de reputação para comentar acima.

Randika Vishman
fonte
1

Resolvi esse problema encerrando o XCode e o Simulador. Reabra o projeto. Feito.

Jayprakash Dubey
fonte
1

O seguinte funcionou para mim no iOS 9.1:

  1. Basta desinstalar o aplicativo do simulador
  2. Saia do simulador (Cmd + Q)
  3. Limpe seu projeto Xcode
  4. Executar no simulador

Nota: Não há necessidade de reiniciar o simulador.

Arjun Shukla
fonte
1

Estou trabalhando no aplicativo Ionic 2, sou novo nisso e até no Xcode e simulador.
Inicialmente, meu aplicativo estava trabalhando no simulador, mas depois de algum tempo ele começou a gerar um erro como -
erro xcode: falha ao anexar ao ID do processo

Eu procurei, tentei todas as respostas acima, mas meu problema não foi resolvido.
Então eu atualizei ( Ionic , npm , cordova ) a configuração da minha 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



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

Depois disso, apenas executo um comando do diretório inicial do meu aplicativo

  1. corrida iônica -l
  2. ios de construção iônica.
  3. xcode importado muda para xcode.
  4. Redefinir conteúdo e configuração como-
    insira a descrição da imagem aqui
  5. limpar o produto do xcode,
    insira a descrição da imagem aqui
  6. Execute o Xcode e agora ele está funcionando no simulador.

Feliz em ver isso !!!

S.Yadav
fonte
1

Tantas respostas para isso e eu não vi o que acredito ser o correto. É um problema de autorização. Digite isso no Terminal:

sudo DevToolsSecurity -enable

canela
fonte
1

No Xcode 9+ faça o seguinte: Vá para o menu Xcode: Product-Scheme - Edit Scheme e na guia Run certifique-se de que a caixa de seleção Debug Executable esteja marcada! É isso aí!

insira a descrição da imagem aqui

joan
fonte
Curiosamente para mim, desmarcar a caixa faz com que funcione: /
hyouuu
0

Basta redefinir o conteúdo e as configurações do simulador iOS e limpar o código pressionando as teclas command + shift + k para limpar o código. Isso funcionou para mim

Rosa do Deserto
fonte
0

Por mais coxo que seja, reiniciar meu computador foi a única solução que funcionou. Tentei mudar de LLDB para GDB, redefinindo o conteúdo do Simulador e reiniciando o Xcode. A única coisa que funcionou foi reiniciar meu computador, reabrir o Xcode e executar o aplicativo novamente.

Jeff Grimes
fonte
0

Eu tive o mesmo problema. Fiz algumas combinações de respostas dadas para fazer funcionar. :)

limpe a pasta Build clicando em "Produto" na Barra de Menu. enquanto pressiona a tecla Alt, clique em "Limpar pasta de compilação". Agora reinicie seu xcode e simulador. Agora deve funcionar. caso contrário, tente também alterar o identificador do pacote e o "Reinício de conteúdo" do Simulador e, em seguida, reinicie o xcode e o simulador.


fonte
0

Passei por isso hoje. Eu acidentalmente removi minhas imagens de inicialização de minhas configurações de destino.

PWiggin
fonte
0

tente fazer os próximos passos:

  • Vá para Produto / Esquema / Editar Esquema e selecione a seção Executar.
  • Selecione Info Tan e defina o Depurador como Nenhum.
  • Execute o projeto. Deve estar funcionando (sem depurador)
  • Volte para Editar Esquema e selecione o depurador LLDB
  • Execute o projeto. Está funcionando.

Além disso, talvez você precise excluir dados derivados e fazer Produto / Limpar

Philip J. Fry
fonte
0

Você tem vários usuários logados em sua máquina? Tenho contas "pessoais" e "profissionais" no meu laptop. Recebi este erro quando estava tentando depurar minha conta pessoal, mas havia deixado o simulador em execução na minha conta de trabalho. Sair do simulador na outra conta corrigiu meu problema.

bolo de cachorrinho
fonte
0

e outro para registro: (nenhuma das sugestões funcionou para mim)

Leão da montanha: XCode 4.6.3

  • Eu moved the whole Application to Trashe apaguei seguindo outras pastas
  • /Users/[USERNAME]/Library/Developer
  • /Users/[USERNAME]/Library/Caches/com.apple.dt.XCode
  • /Users/[USERNAME]/Library/Application Support/iPhone Simulator

  • reinicie o sistema e reinstale o XCode

longi
fonte
0

Também tive o mesmo problema hoje. eu estava usando o Xcode 4.6.3. Fechei meu projeto e abri no Xcode 5 e está funcionando perfeitamente.

Estranho mas verdade

Mohit
fonte
para mim é uma resposta porque resolveu minha pergunta ok
Mohit