Comment résoudre le message «En attente du débogueur»?

94

J'ai HTC Comet connecté à Eclipse avec SDK 2.2. Je fais une compilation de débogage - l'application ne fonctionne pas; bien qu'il soit installé sur l'appareil. Sur l'appareil, j'obtiens cette boîte de message sur l'écran Comet

En attente de l'
application du débogueur HunyDew (processus com.airvine.hunydew) attend que le débogueur se connecte.
[Forcer la fermeture]

Alors que dans la console Eclipse, j'obtiens cet ensemble de messages

[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.  

L'application fonctionne correctement dans l'émulateur - aidez-moi s'il vous plaît - qu'est-ce qui me manque ici? Des conseils / suggestions? Merci

Abhi
la source
2
Avez-vous activé l'option "Débogage USB" sur votre téléphone? Paramètres - Applications - Développement - Débogage USB.
Jesus Oliva
Cette option a été définie dans le téléphone.
Abhi
J'ai compris cela et je me souviens qu'il a disparu au bout de quelques secondes, puis l'application s'est finalement lancée. Comprenez-vous cela?
chaimp
15
Cela arrive souvent si vous avez plus d'une instance d'Eclipse ouverte ... la seule solution que j'ai trouvée est de fermer d'autres instances; si quelqu'un a une meilleure solution - aidez-le.
nikib3ro
Pour moi, le correctif décrit ci-dessous a fait l'affaire. martinahrer.at/2009/04/16/…

Réponses:

68

Certains appareils ne laisseront le débogueur s'attacher que si l'application a l'autorisation android.permission.SET_DEBUG_APP définie dans son fichier manifeste:

<manifest>
  <uses-permission android:name="android.permission.SET_DEBUG_APP"></uses-permission>
</manifest> 
Iain
la source
8
Cela manquait Je l'ai ajouté - et le comportement est resté le même - cela ne fonctionne pas
Abhi
Votre téléphone est-il accessible sur le port 8601? Si dans Eclipse vous allez dans le menu Fenêtre -> Afficher la vue -> Autre -> Android -> Appareils, cette vue montre-t-elle que votre application écoute sur ce port?
Iain
oui le téléphone semble être accessible sur le port 8601 - Si je fais une capture d'écran (de l'appareil) depuis Eclipse - cela fonctionne.
Abhi
23
J'avais le même problème, sauf que je le rencontrais avec l'émulateur Android. J'ai compris que si vous mettez votre ordinateur en veille pendant qu'Eclipse ou l'émulateur sont en cours d'exécution, cela perturbe la connexion entre eux. Mon problème a disparu après que j'ai redémarré à la fois l'émulateur et Eclipse.
Vivek
1
Grande aide, en fait, j'ai suivi l'aide de Viveks. Je n'avais jamais ajouté cette ligne au manifeste, mais j'avais en fait laissé ma machine s'endormir. Après avoir redémarré l'émulateur et Eclipse, j'étais de nouveau opérationnel. merci
wired00
51

La boîte de dialogue en attente du débogueur s'affiche si vous créez une application de débogage ou quelque part dans votre code source, vous avez appelé Debug.waitingForDebugger ();

Dans Android Studio 2.0 et supérieur, il existe une option pour attacher le débogueur au processus Android. C'est le dernier élément de menu dans le menu Exécuter.

Capture d'écran des options du menu Exécuter dans Android Studio

Victor Mwenda
la source
Merci - c'était exactement mon problème - Android N - Google Pixel - IntelliJ
bsautner
2
Avant aujourd'hui, je n'avais jamais eu à faire cela, mais maintenant je le dois. J'ai dû changer un paramètre accidentellement. Mais lequel?
Eurig Jones
Merci c'est de l'aide
eigenfield
19

Je ne sais pas si c'est ce que vous recherchez, mais essayez de mettre:

android:debuggable="true"

dans la balise d'application dans le AndroidManifest.xml

Prateek Jain
la source
Merci - oui j'ai ça -
Abhi
13
Cela n'a rien à voir avec son problème, Eclipse active automatiquement le débogage lorsque vous le lancez en mode débogage. Vous NE souhaitez PAS ajouter cela à votre manifeste à moins que vous ne souhaitiez spécifiquement que vos versions de version produisent des informations de débogage.
Justin Buser
J'ai supprimé cette ligne: android: debuggable = "false", et cela fonctionne parfaitement maintenant.
dbv
10

J'ai ce problème depuis longtemps que je ne peux pas connecter mon émulateur ou appareil Android au débogueur pendant que la console et l'émulateur s'affichent en attente de connexion au débogueur .

Et la configuration pour le débogage dans eclipse m'a aussi beaucoup perturbé avant, mais aujourd'hui, j'ai résolu ce problème, par les étapes suivantes:

Lorsque vous souhaitez déboguer un projet Android, par exemple, mypro . vous feriez un clic droit dessus dans le fichier "Package Explorer". Then choose "Debug as"-->"Android Application".

Ensuite, l'émulateur peut s'arrêter sur "En attente de connexion au débogueur" (ou quelque chose de similaire).

Ensuite, vous devez vous connecter au débogueur vous-même en cliquant sur «DDMS» pour ouvrir la perspective DDMS, puis sur l' onglet «Périphériques» .

Ensuite, vous pouvez voir une liste des processus en cours d'exécution sur votre émulateur ou appareil.

Double-cliquez sur celui que vous déboguez, puis passez à la perspective Débogage, vous pouvez voir que le débogueur est connecté et vous pouvez déboguer votre programme. C'est ainsi que j'ai résolu ce problème.

Au fait, mon système d'exploitation est Win7 32 bits. La version d'Eclipse est Helios Service Release 2. Le SDK Android est rev. 16 et plateforme-outils '10.

Mettre à jour.

J'ai trouvé que c'était le problème de ma configuration TCP / IP. Le débogueur ne peut pas être connecté lorsque j'attribue une adresse IP statique (pour accéder à Internet).

Ainsi, chaque fois que le débogueur est incapable de se connecter, je fais toujours les étapes suivantes:

1. fermez la fenêtre d'éclipse actuelle.

2. changez la configuration de l'adresse IP en dynamique , cela signifie obtenir une adresse IP par DHCP .

3. ouvrez à nouveau l'éclipse.

alors le débogueur peut être connecté. Je pensais que cela pourrait être un problème du mécanisme interne du débogueur Java qui utilise la connexion socket.

Stevens
la source
4
"2. changez la configuration de l'adresse IP en dynamique, cela signifie obtenir une adresse IP par DHCP." Comment est-ce que tu fais ça? Clarifiez s'il vous plaît!
Ksice
@Ksice Salut, cela signifie "Récupérer une adresse IP dynamiquement". En fait, le mécanisme interne du débogueur Android est basé sur le protocole TCP / IP, donc lorsque vous utilisez une adresse IP statique, il semble que le système ne puisse pas connecter votre périphérique terminal ou émulateur avec le débogueur
Stevens
10

J'obtiens ceci si je change le câble USB sur un port différent sur mon PC, bizarre mais cela fonctionne quand je le rebranche. De plus, je pense que j'ai cela quand il y a eu un autre appareil ou émulateur en même temps, ou deux instances d'Eclipse ouvertes.

Andy
la source
Pareil pour moi, il ne semblait pas que j'avais deux instances d'Eclipse ouvertes, mais l'onglet Processus du Gestionnaire des tâches de Windows les montrait.
Andrew Martin
Oui, vous avez raison, j'ai eu deux instances d'éclipse en cours d'exécution. Après la fermeture de la deuxième instance d'Eclipse, le problème a été résolu.
Signcodeindie
Si vous avez essayé le développement Android IntelliJ IDEA, cela peut également se produire si vous avez à la fois Eclipse et IntelliJ ouverts en même temps.
SilithCrowe
J'ai réussi à entrer dans cette situation en ayant deux instances d'IntelliJ IDEA déboguant deux applications en même temps. Après cela, l'une des applications ne démarrait plus, répétant "En attente du débogueur". Enfin résolu le problème en débranchant le câble USB et en mettant l'appareil sous et hors tension.
RenniePet
4

Pour ceux qui obtiennent ce comportement ennuyeux dans la version 4.2.2, vous devez décocher le paramètre "attendre le débogueur" dans les options du développeur. Bien sûr, ces options ont été masquées par Google et vous devez faire un truc sournois pour les faire réapparaître. Je les avais mis en place avant qu'ils ne disparaissent, et je n'ai pas pu les retrouver pendant toute ma vie.

Cette page explique la procédure

John
la source
nous pouvons rétablir ces options, je suppose que je l'ai compris. mais merci, cela a aidé.
stack_ved
3

En exécutant Android Studio, j'ai rencontré ce problème et après avoir essayé divers remèdes, le redémarrage d'Android Studio semble résoudre le problème.

ThomasW
la source
3

Ma solution est d'utiliser le moniteur de débogage Dalvik. Parfois, il y a un bug rouge ou vert à côté d'un processus. Cliquez sur l'appareil sur lequel vous essayez de charger. Sélectionnez l'onglet Actions et réinitialisez adb. Cela attache généralement le débogueur pour moi. Je trouve que le débogage via ce moniteur fonctionne mieux pour moi que l'utilisation du plugin Android Eclipse Logcat.

Karol
la source
Je peux confirmer que la réinitialisation de l'ADB (via l'onglet Actions) comme vous l'avez décrit a résolu ce problème pour moi. Il s'agit d'un débogage avec un émulateur exécutant 4.0.
ubzack
1
Pouvez-vous expliquer ce que vous entendez par ce qui suit: "Ma solution consiste à utiliser le moniteur de débogage Dalvik. Parfois, il y a un bogue rouge ou vert à côté d'un processus. Cliquez sur l'appareil que vous essayez de charger. Sélectionnez l'onglet Actions et reset adb. " Quelles sont les étapes pour y parvenir?
Regis_AG
2

Fermeture de l'émulateur et fermeture de l'éclipse. La réouverture d'Eclipse et le démarrage du simulateur ont fonctionné pour moi.

La chose clé à rechercher est dans le volet Périphériques d'Eclipse. Si vous démarrez l'émulateur ou le périphérique et qu'il apparaît dans la liste des noms de périphérique mais indique [null] et qu'aucun processus en cours ne s'affiche en dessous, cela ne fonctionnera pas correctement avec le chargement de votre application.

Si le nom de l'appareil apparaît et est en ligne, les choses semblent bien fonctionner.

Je ne sais pas pourquoi cela ne fonctionne pas tout le temps.

CQM
la source
2

Dans mon cas, le problème est causé par adb connecté à un autre appareil.

Si plusieurs périphériques sont connectés au PC, supprimez les autres périphériques sauf celui requis.

gilchris
la source
2

Je finis par entrer dans la perspective "Debug".

Ensuite, dans le cadre "Debug", il y a une liste de débogage ou une liste en cours d'exécution.

Vous devez décider lequel est votre actuel qui a ce problème (En attente de débogage ...)

Ensuite, faites un clic droit et choisissez "Terminer et supprimer".

Ensuite, vous essayez de courir à nouveau. Et cette boîte d'avertissement aura disparu.

Apisarn Sasuk
la source
2

Le redémarrage du téléphone était la solution pour moi.

Stoica Mircea
la source
1

Si votre environnement de développement est Windows, assurez-vous que les pilotes USB sont correctement installés.

Une façon de s'assurer que les pilotes USB sont correctement installés est d'obtenir le programme d'installation Windows PDANet et de le laisser installer les pilotes USB.

Vous pouvez trouver la page PDANet ici.

JimR
la source
Je pourrais le faire fonctionner sans avoir à télécharger le PDANet. Je viens de tout refaire, y compris la désinstallation de l'application précédente - en utilisant adb uninstall (auparavant, j'utilisais l'applet Paramètres pour désinstaller l'application). Merci cependant d'avoir posté sur PDANet. Jusqu'à présent, la suggestion de Lain était la seule qui me manquait - mais sa réponse était avant que la prime ne soit offerte. J'aime aussi votre réponse - j'espère que quelqu'un d'autre votera votre réponse - si cela se produit alors vous et Lain pouvez partager la prime - le système ne me laisse pas partager la prime.
Abhi
Cela n'a rien à voir avec son problème, les pilotes sont clairement déjà installés car la sortie de la console montre que ADB interroge le périphérique et trouve que l'application est déjà installée puis la lance.
Justin Buser
1

J'essaierais de me connecter au téléphone avec ddms seul sans Eclipse. Vous pouvez exécuter un émulateur dans Eclipse que vous ne voyez pas ou avez d'autres problèmes avec Eclipse.

Exécutez simplement ddms à partir d'une invite de commande et voyez si l'appareil apparaît et vous pouvez vous y connecter.

Vous pouvez également voir si apparaît lorsque vous exécutez adb deviceset voir que votre téléphone est répertorié (et peut comporter autre chose ..)

Manfred Moser
la source
1

J'ai eu le même problème, je sais que je n'utilisais aucune autre instance, et je pouvais le voir avec adb devices. Je viens de redémarrer eclipse et cela a fonctionné.

b-ryce
la source
1

Le redémarrage du PC a été la seule chose qui a fonctionné pour moi. Cela a fonctionné lorsque j'ai eu ce problème avec un téléphone Android 2.2, ainsi qu'une tablette Android 3.1.

M. Bungle
la source
Cela a fonctionné pour moi - c'est peut-être une coïncidence mais il y avait une mise à jour de Windows en attente.
OldCurmudgeon
1

J'ai résolu ce problème de cette façon:

Allez dans le menu Exécuter ====> cliquez sur Modifier les configurations ====> Divers et décochez finalement l'option Ignorer l'installation si l'APK n'a pas changé

entrez la description de l'image ici

entrez la description de l'image ici

Marco Aurelio Silva
la source
0

J'ai rencontré ce problème aujourd'hui. Après avoir passé la majeure partie de la journée à essayer de le réparer, la seule chose qui a fonctionné a été de créer un nouvel espace de travail et d'y importer mon projet. J'espère que cela aidera quelqu'un à éviter tous les problèmes que j'ai traversés.

JP2014
la source
0

Je rencontre également ce problème. Dans mon environnement, j'utilise un tomcat comme serveur et Android comme client. J'ai trouvé, si tomcat est démarré, cette erreur "Erreur de lancement: Échec de la connexion à la machine virtuelle distante. La connexion a expiré." arrivera. Si tomcat n'est pas exécuté, adb fonctionne bien.

Daniel
la source
0

J'ai essayé toutes les solutions ci-dessus, cela résout le problème parfois, mais de temps en temps, je me suis retrouvé coincé avec la boîte de message «En attente du débogueur pour joindre».

La solution finale dans mon cas était de débrancher tous les appareils Android sauf celui sur lequel je veux déboguer. Je ne sais pas lequel est le coupable: le Nexus 7 sous JB 4.2, le HTC One X sous ICS, le HTC Desire S sous Gingerbread, ou la combinaison des 3, mais dès que je n'ai qu'un seul appareil branché , il est lisse comme de la soie.

Alexis Pigeon
la source
0

J'ai utilisé le Gestionnaire des tâches pour tuer adb.exe pour résoudre ce problème. Adb.exe démarre automatiquement après avoir été tué.

Jusqu'à présent, tuer adb.exe a résolu de nombreux problèmes liés au débogage et aux émulateurs.

Hong
la source
0

Pour les utilisateurs d' Android Studio , j'ai rencontré ce problème la première fois en essayant d'exécuter un projet bare bone juste après la mise à jour de mon emplacement jdk . Alors je suis tombé sur ce post. Dans mon cas, un simple projet Build-> Clean a fait le travail.

Argument illégal
la source
0

J'avais également le même problème lors de l'utilisation d'Android Studio et de GenyMotion. Je suis capable de résoudre ce problème en mettant le programme en pause et en le reprenant après l'affichage du message «En attente du débogueur». Cela peut également fonctionner avec d'autres IDE et émulateurs.entrez la description de l'image ici

Suresh Subedi
la source
0

Android Studio 1.2.2 sur Mac OS 10.10 Même problème que d'autres l'ont signalé. J'ai fermé Android Studio, puis vérifié à partir de la ligne de commande dans le terminal:

ps -efw | grep -i android

Cela a signalé un processus java (.gradle / daemon) associé à Android Studio. J'ai tué ce processus, redémarré Android Studio et le problème a disparu.

Arachides
la source
0

désactiver votre option développeur sur votre téléphone.

Paramètres> Option développeur> Désactiver

Cela a fonctionné pour moi, lorsque j'ai essayé d'utiliser mon application sans la déboguer.

Fazal
la source
0

Ce qui a résolu le problème pour moi allait: "Exécuter" -> "Joindre le débogueur au processus Android", puis sélectionnez votre processus.

Vous faites cela dans Android Studio.

Sid
la source
0

J'ai eu le même problème, je l'ai résolu en sélectionnant explicitement le périphérique souhaité dans la configuration de débogage. Malheureusement, même après que ce journal s'arrête parfois lorsque le débogueur tente de se connecter. Dans ce cas, dans la perspective DDMS, trouvez le processus souhaité. Il sera mis en évidence avec un bug vert. Cliquez sur Arrêter, puis déboguez-le à nouveau.

Andrey Talnikov
la source
0

Cela peut être ancien, mais pour la dernière mise à jour 2.7.1 de Genymotion, accédez aux options pour les développeurs.Si au cas où vous ne savez pas comment ouvrir cette option, accédez à À propos du téléphone et cliquez sur Numéro de version plusieurs fois et les options de développement seront activées. Activez l' option Developer, vérifiez le débogage USB .

Testé sur Genymotion 4.4 et plus. Solution étrange hein? Mais ça marche vraiment. J'espère que ça aide. Codages heureux.

ralphgabb
la source
0

En mode débogage, Android Studio se connecte à votre appareil via une prise (: 8600). D'une manière ou d'une autre, votre connexion socket est bloquée et ne répond donc pas aux connexions entrantes.

Redémarrez Android Studio et votre problème sera résolu

HimalayanCoder
la source
-1

J'ai lu beaucoup à ce sujet et la seule solution qui a fonctionné pour moi était de créer un nouveau projet, puis de copier l'ancien projet dans celui-ci.

pstorli
la source