Como resolver a mensagem “Waiting for Debugger”?

94

Tenho o HTC Comet conectado ao Eclipse com SDK 2.2. Eu faço uma compilação de depuração - o aplicativo não funciona; embora seja instalado no dispositivo. No dispositivo, recebo esta caixa de mensagem na tela do Comet

Aguardando o
aplicativo do depurador HunyDew (processo com.airvine.hunydew) está aguardando a conexão do depurador.
[Forçar fechamento]

Enquanto no console do Eclipse eu recebo esse conjunto de mensagens

[2010-12-07 01:42:29 - hunydewprj] Android Launch!  
[2010-12-07 01:42:29 - hunydewprj] adb is running normally.  
[2010-12-07 01:42:29 - hunydewprj] Performing com.airvine.hunydew.HunyDewAAStartsHere activity launch  
[2010-12-07 01:42:47 - hunydewprj] Application already deployed. No need to reinstall.  
[2010-12-07 01:42:47 - hunydewprj] Starting activity com.airvine.hunydew.HunyDewAAStartsHere on device 308730C861BC  
[2010-12-07 01:42:49 - hunydewprj] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.airvine.hunydew/.HunyDewAAStartsHere }  
[2010-12-07 01:42:49 - hunydewprj] Attempting to connect debugger to 'com.airvine.hunydew' on port 8601  
[2010-12-07 01:43:09 - hunydewprj] Launch error: Failed to connect to remote VM. Connection timed out.  

O aplicativo funciona bem no emulador - por favor, ajude - o que é que estou perdendo aqui? Alguma dica / sugestão? obrigado

Abhi
fonte
2
Você ativou a opção "Depuração USB" em seu telefone? Configurações - Aplicativos - Desenvolvimento - Depuração USB.
Jesus Oliva
Essa opção foi definida no telefone.
Abhi
Eu entendi isso e lembro que desapareceu depois de alguns segundos e, em seguida, o aplicativo foi iniciado. Você está entendendo?
chaimp
15
Isso geralmente acontece se você tiver mais de 1 instância do Eclipse aberta ... a única solução que encontrei é fechar outras instâncias; se alguém tiver uma solução melhor - ajude.
nikib3ro
Para mim, a correção descrita abaixo funcionou. martinahrer.at/2009/04/16/…

Respostas:

68

Alguns dispositivos só permitem que o depurador seja anexado se o aplicativo tiver a permissão android.permission.SET_DEBUG_APP definida em seu arquivo de manifesto:

<manifest>
  <uses-permission android:name="android.permission.SET_DEBUG_APP"></uses-permission>
</manifest> 
Iain
fonte
8
Estava faltando, eu adicionei - e o comportamento permaneceu o mesmo - não funciona
Abhi
Seu telefone está acessível na porta 8601? Se no Eclipse você for para o menu Janela -> Mostrar Visualização -> Outro -> Android -> Dispositivos, essa visualização mostra seu aplicativo ouvindo nessa porta?
Iain
sim o telefone parece estar acessível na porta 8601 - Se eu fizer uma captura de tela (do dispositivo) do Eclipse - funciona.
Abhi
23
Eu estava tendo o mesmo problema, exceto que o estava encontrando com o Android Emulator. Eu descobri que se você colocar seu computador para hibernar enquanto o Eclipse ou o emulador estão em execução, isso atrapalha a conexão entre eles. Meu problema foi embora depois que reiniciei o emulador e o Eclipse.
Vivek
1
Grande ajuda, na verdade eu segui a ajuda do Viveks. Eu nunca adicionei essa linha ao manifesto, mas na verdade deixei minha máquina dormir. Depois de reiniciar o emulador e o Eclipse, voltei a funcionar. obrigado
wired00
51

A caixa de diálogo Waiting for Debugger é mostrada se você estiver criando um aplicativo de depuração ou em algum lugar em seu código-fonte, você chamou Debug.waitingForDebugger ();

Dentro do Android Studio 2.0 e superior, há uma opção de Attach Debugger to Android Process. É o último item de menu no menu Executar.

Captura de tela das opções do menu Executar no Android Studio

Victor Mwenda
fonte
Obrigado - esse era exatamente o meu problema - Android N - Google Pixel - IntelliJ
bsautner
2
Antes eu nunca tive que fazer isso, mas agora tenho que fazer. Devo ter alterado uma configuração acidentalmente. Mas qual?
Eurig Jones de
Obrigado, esta é a ajuda
truthadjustr
19

Não tenho certeza se é isso que você está procurando, mas tente colocar:

android:debuggable="true"

na tag do aplicativo no AndroidManifest.xml

Prateek Jain
fonte
Obrigado - sim, tenho isso -
Abhi
13
Isso não tem nada a ver com o problema dele, o Eclipse habilita automaticamente a depuração quando você inicia no modo de depuração. Você NÃO deseja adicionar isso ao seu manifesto, a menos que queira especificamente que suas compilações de versão gerem informações de depuração.
Justin Buser
Removi esta linha: android: debuggable = "false" e agora funciona perfeitamente.
dbv
10

Eu tenho esse problema há muito tempo que não consigo fazer meu emulador ou dispositivo Android se conectar ao depurador enquanto o console e o emulador estavam exibindo esperando para se conectar ao depurador .

E a configuração para depuração dentro do eclipse também me confundia muito antes, mas hoje, resolvi esse problema, pelas seguintes etapas:

Quando você deseja depurar um projeto Android, por exemplo, mypro . você clicar com o botão direito nele no "Package Explorer". Then choose "Debug as"-->"Android Application".

Em seguida, o emulador pode parar em "Aguardando conexão com o depurador" (ou algo semelhante a isso).

Então você precisa se conectar ao depurador clicando em "DDMS" para abrir a perspectiva DDMS e clicar na guia "Dispositivos" .

Em seguida, você pode ver uma lista de processos em execução em seu emulador ou dispositivo.

Clique duas vezes naquele que você está depurando e, em seguida, mude para a perspectiva Depurar, você verá que o depurador está conectado e poderá depurar seu programa. Foi assim que resolvi esse problema.

A propósito, meu sistema operacional é Win7 de 32 bits. A versão do Eclipse é Helios Service Release 2. Android SDK rev. 16 e ferramentas de plataforma '10.

Atualizar.

Descobri que é o problema da minha configuração TCP / IP. O depurador não pode ser conectado quando atribuo um endereço IP estático (para acesso à Internet).

Portanto, sempre que o depurador não consegue se conectar, sempre realizo as seguintes etapas:

1. feche a janela do eclipse atual.

2.altere a configuração do endereço IP para dinâmico , significa obter um endereço IP por DHCP .

3. abra o eclipse novamente.

então, o depurador pode ser conectado. Achei que poderia ser um problema do mecanismo interno do depurador java que está usando a conexão de soquete.

Stevens
fonte
4
"2.altere a configuração do endereço IP para dinâmico, isso significa obter um endereço IP por DHCP." Como você faz isso? Esclareça por favor!
Ksice
@Ksice Olá, significa "Recuperar um endereço IP dinamicamente". Na verdade, o mecanismo interno do depurador Android é baseado no protocolo TCP / IP, então quando você está usando um endereço IP estático, parece que o sistema não consegue conectar seu dispositivo de terminal ou emulador com o depurador
Stevens
10

Eu entendo isso se eu mudar o cabo USB para uma porta diferente no meu PC, estranho, mas funciona quando eu troco de volta. Também acho que tenho isso quando há outro dispositivo ou emulador rodando ao mesmo tempo, ou duas instâncias do Eclipse abertas.

Andy
fonte
O mesmo para mim, não parecia que eu tinha duas instâncias do Eclipse abertas, mas a guia de processos do Gerenciador de Tarefas do Windows as mostrou.
Andrew Martin
Sim, você está certo, eu tive duas instâncias de eclipse em execução. Depois de fechar a segunda instância do eclipse, o problema foi resolvido.
Signcodeindie
Se você está experimentando o IntelliJ IDEA de desenvolvimento para Android, isso também pode acontecer se você tiver o Eclipse e o IntelliJ abertos ao mesmo tempo.
SilithCrowe
Eu consegui entrar nessa situação tendo duas instâncias do IntelliJ IDEA depurando dois aplicativos ao mesmo tempo. Depois disso, um dos aplicativos não iniciava mais, dizendo "Aguardando o depurador". Finalmente consertei desconectando o cabo USB e desligando e ligando o dispositivo novamente.
RenniePet
4

Para aqueles que obtêm este comportamento irritante em 4.2.2, você deve desmarcar a configuração para "aguardar o depurador" nas opções do desenvolvedor. Claro, essas opções foram ocultadas pelo Google, e você tem que fazer um truque sorrateiro para que elas apareçam novamente. Eu os tinha colocado antes que desaparecessem, e não pude por minha vida encontrá-los novamente.

Esta página explica o procedimento

John
fonte
podemos reativar essas opções, acho que descobri. mas obrigado, isso ajudou.
stack_ved
3

Executando o Android Studio, encontrei esse problema e depois de tentar vários remédios, reiniciar o Android Studio é o que parecia resolver o problema.

ThomasW
fonte
3

Minha solução é usar o Dalvik Debug Monitor. Às vezes, há um bug vermelho ou verde ao lado de um processo. Clique no dispositivo que você está tentando carregar. Selecione a guia Ações e redefina o adb. Isso geralmente anexa o depurador para mim. Acho que fazer a depuração por meio deste Monitor funciona melhor para mim do que usar o plugin Logcat do Android Eclipse.

Karol
fonte
Posso confirmar que a redefinição do ADB (por meio da guia Ações) como você descreveu corrigiu esse problema para mim. Esta é a depuração com um emulador executando 4.0.
ubzack
1
Você pode explicar o que quer dizer com o seguinte: "Minha solução é usar o Dalvik Debug Monitor. Às vezes, há um bug vermelho ou verde ao lado de um processo. Clique no dispositivo que você está tentando carregar. Selecione a guia Ações e reset adb. " Quais são as etapas para fazer isso?
Regis_AG
2

Fechando o emulador e fechando o eclipse. Reabrir o Eclipse e iniciar o simulador funcionou para mim.

O principal aspecto a ser procurado está no painel Dispositivos do Eclipse. Se você iniciar o emulador ou dispositivo e ele aparecer na lista de nomes de dispositivos, mas disser [null] e nenhum processo em execução for mostrado abaixo dele, ele não funcionará corretamente ao carregar seu aplicativo nele.

Se o nome do dispositivo aparecer e for Online, as coisas parecem estar funcionando perfeitamente.

Não sei por que isso não funciona o tempo todo.

CQM
fonte
2

No meu caso, o problema é causado por adb conectado a outro dispositivo.

Se vários dispositivos estiverem conectados no PC, remova outros dispositivos, exceto o necessário.

Gilchris
fonte
2

Acabo entrando na perspectiva de "Depuração".

Em seguida, no quadro "Depurar", há uma lista de depuração ou lista de execução.

Você tem que decidir qual é o seu atual que tem este problema (Aguardando depuração ...)

Em seguida, clique com o botão direito e escolha "Terminar e Remover".

Então você tenta correr novamente. E essa caixa de aviso desaparecerá.

Apisarn Sasuk
fonte
2

Reinicializar o telefone foi a solução para mim.

Stoica Mircea
fonte
1

Se o seu ambiente de desenvolvimento for Windows, certifique-se de que os drivers USB estejam instalados corretamente.

Uma maneira de garantir que os drivers USB estejam instalados corretamente é obter o instalador do PDANet Windows e permitir que ele instale os drivers USB.

Você pode encontrar a página PDANet aqui.

JimR
fonte
Eu poderia fazê-lo funcionar sem ter que baixar a PDANet. Acabei de refazer tudo, incluindo a desinstalação do aplicativo anterior - usando a desinstalação do adb (anteriormente, estava usando o miniaplicativo de configurações para desinstalar o aplicativo). Obrigado por postar sobre PDANet. Até agora a sugestão de Lain era a única que eu estava perdendo - mas sua resposta foi antes que a recompensa fosse oferecida. Eu gosto de sua resposta também - espero que alguém vote sua resposta - se isso acontecer, então você e Lain podem compartilhar a recompensa - o sistema não me permite dividir a recompensa.
Abhi
Isso não tem nada a ver com o problema dele, os drivers já estão claramente instalados, pois a saída do console mostra o ADB consultando o dispositivo e descobrindo que o aplicativo já está instalado e depois o inicia.
Justin Buser
1

Eu tentaria me conectar ao telefone com ddms sozinho, sem Eclipse. Você pode estar executando um emulador dentro do eclipse que você não vê ou tem alguns outros problemas com o Eclipse.

Basta executar o ddms em um prompt de comando e ver se o dispositivo aparece e você pode se conectar a ele.

Você também pode ver se aparece quando você executa adb devicese ver que seu telefone está listado (e pode haver outra coisa ..)

Manfred Moser
fonte
1

Tive o mesmo problema, sei que não estava executando nenhuma outra instância e pude ver isso com adb devices. Acabei de reiniciar o eclipse e funcionou.

b-ryce
fonte
1

Reinicializar o PC foi a única coisa que funcionou para mim. Funcionou quando tive esse problema com um telefone Android 2.2 e também um tablet Android 3.1.

Sr. Bungle
fonte
Funcionou para mim - pode ser uma coincidência, mas havia uma atualização do Windows esperando.
OldCurmudgeon
1

Resolvi este problema desta forma:

Vá ao menu Executar ====> clique em Editar Configurações ====> Diversos e finalmente desmarque a opção Pular instalação se o APK não tiver mudado

insira a descrição da imagem aqui

insira a descrição da imagem aqui

Marco Aurelio Silva
fonte
0

Corri para este problema hoje. Depois de passar a maior parte do dia tentando consertá-lo, a única coisa que acabou dando certo foi criar um novo espaço de trabalho e importar meu projeto para ele. Espero que isso ajude alguém a evitar todos os problemas pelos quais passei.

JP2014
fonte
0

Eu também encontro esse problema. No meu ambiente, utilizo um tomcat como servidor e o android como cliente. Eu encontrei, se o tomcat for iniciado, este erro "Erro de inicialização: Falha ao conectar à VM remota. Tempo limite de conexão esgotado." Vai acontecer. Se o tomcat não for executado, o adb funciona bem.

Daniel
fonte
0

Tentei todas as soluções acima, ele corrige o problema às vezes, mas ainda assim, de vez em quando, ficava preso na caixa de mensagem "Aguardando o depurador anexar".

A solução final no meu caso foi desconectar todos os dispositivos Android, exceto aquele que desejo depurar. Não sei qual é o culpado: o Nexus 7 rodando JB 4.2, o HTC One X rodando ICS, o HTC Desire S rodando Gingerbread ou a combinação dos 3, mas assim que eu tiver apenas um dispositivo conectado , ele corre liso como seda.

Alexis Pigeon
fonte
0

Usei o Gerenciador de Tarefas para matar o adb.exe e resolver esse problema. O Adb.exe iniciará automaticamente após ser eliminado.

Matar adb.exe resolveu muitos problemas relacionados à depuração e emuladores para mim até agora.

Hong
fonte
0

Para usuários do Android Studio , encontrei esse problema pela primeira vez enquanto tentava executar um projeto básico logo após atualizar minha localização jdk . Então me deparei com este post. No meu caso, o simples Build-> Clean Project fez o trabalho.

Argumento Ilegal
fonte
0

Eu também estava tendo o mesmo problema ao usar o Android Studio e GenyMotion. Consigo resolver este problema pausando o programa e reiniciando-o depois que a mensagem "Aguardando o depurador" for exibida. Ele pode funcionar ao usar outros IDEs e emuladores também.insira a descrição da imagem aqui

Suresh Subedi
fonte
0

Android Studio 1.2.2 no Mac OS 10.10 Mesmo problema relatado por outros. Fechei o Android Studio e verifiquei na linha de comando no terminal:

ps -efw | grep -i android

Isso relatou um processo java (.gradle / daemon) associado ao Android Studio. Eliminei esse processo, reiniciei o Android Studio e o problema foi embora.

Amendoim
fonte
0

desative sua opção de desenvolvedor em seu telefone.

Configurações> opção do desenvolvedor> Desativar

Isso funcionou para mim, quando tentei usar meu aplicativo sem depurá-lo.

Fazal
fonte
0

O que resolveu o problema para mim foi: "Executar" -> "Anexar o depurador ao processo Android" e selecionar seu processo.

Você faz isso no Android Studio.

Sid
fonte
0

Eu tive o mesmo problema, resolvi selecionando explicitamente o dispositivo desejado na configuração de depuração. Infelizmente, mesmo depois que o log às vezes para quando o depurador tenta se conectar. Neste caso, na perspectiva DDMS, encontre o processo desejado. Ele será destacado com um bug verde. Clique em parar e depure novamente.

Andrey Talnikov
fonte
0

Isso pode ser antigo, mas para a última atualização 2.7.1 do Genymotion, vá para Opções do desenvolvedor , caso você não saiba como abrir essa opção, vá para Sobre o telefone e clique em Número de compilação algumas vezes e as opções do desenvolvedor serão habilitadas. Ative a opção de desenvolvedor, verifique a depuração USB .

Testado em Genymotion 4.4 e superior. Solução estranha eh? Mas definitivamente funciona. Espero que ajude. Boas codificações.

Ralphgabb
fonte
0

No modo de depuração, o Android Studio se conecta ao seu dispositivo via soquete (: 8600). De alguma forma, sua conexão de soquete está obstruída e, portanto, não responde às conexões de entrada.

Reinicie o Android Studio e seu problema será resolvido

HimalayanCoder
fonte
-1

Li muito sobre isso e a única solução que funcionou para mim foi criar um novo projeto e, em seguida, copiar o projeto antigo de volta para ele.

Pstorli
fonte