Wie kann die Meldung "Warten auf Debugger" behoben werden?

94

Ich habe HTC Comet mit SDK 2.2 mit Eclipse verbunden. Ich mache einen Debug-Build - die Anwendung wird nicht ausgeführt. obwohl es auf dem Gerät installiert wird. Auf dem Gerät wird dieses Meldungsfeld auf dem Kometenbildschirm angezeigt

Warten auf die Debugger-
Anwendung HunyDew (Prozess com.airvine.hunydew) wartet auf das Anhängen des Debuggers.
[Schließen erzwingen]

Während in der Eclipse-Konsole diese Nachrichten angezeigt werden

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

Die Anwendung läuft gut im Emulator - bitte helfen Sie - was fehlt mir hier? Irgendwelche Hinweise / Vorschläge? Vielen Dank

Abhi
quelle
2
Haben Sie die Option "USB-Debugging" in Ihrem Telefon aktiviert? Einstellungen - Anwendungen - Entwicklung - USB-Debugging.
Jesus Oliva
Diese Option wurde im Telefon eingestellt.
Abhi
Ich habe das bekommen und ich erinnere mich, dass es nach ein paar Sekunden verschwunden ist und dann die App irgendwann gestartet wird. Verstehst du das?
Chaimp
15
Dies passiert häufig, wenn Sie mehr als eine Eclipse-Instanz geöffnet haben. Die einzige Lösung, die ich gefunden habe, besteht darin, andere Instanzen zu schließen. Wenn jemand eine bessere Lösung hat - helfen Sie aus.
Nikib3ro
Für mich hat das unten beschriebene Update den Trick getan. martinahrer.at/2009/04/16/…

Antworten:

68

Auf einigen Geräten kann der Debugger nur angehängt werden, wenn die Anwendung die Berechtigung android.permission.SET_DEBUG_APP in ihrer Manifestdatei festgelegt hat:

<manifest>
  <uses-permission android:name="android.permission.SET_DEBUG_APP"></uses-permission>
</manifest> 
Iain
quelle
8
Dies fehlte Ich fügte es hinzu - und das Verhalten blieb das gleiche - es funktioniert nicht
Abhi
Ist Ihr Telefon über Port 8601 erreichbar? Wenn Sie in Eclipse zum Menü Fenster -> Ansicht anzeigen -> Andere -> Android -> Geräte gehen, zeigt diese Ansicht, dass Ihre App diesen Port abhört?
Iain
Ja, das Telefon scheint über Port 8601 erreichbar zu sein. Wenn ich eine Bildschirmaufnahme (des Geräts) von Eclipse aus mache, funktioniert es.
Abhi
23
Ich hatte das gleiche Problem, außer dass ich mit dem Android-Emulator darauf gestoßen bin. Ich habe herausgefunden, dass wenn Sie Ihren Computer in den Ruhezustand versetzen, während Eclipse oder der Emulator ausgeführt werden, dies die Verbindung zwischen ihnen durcheinander bringt. Mein Problem verschwand, nachdem ich sowohl den Emulator als auch Eclipse neu gestartet hatte.
Vivek
1
Tolle Hilfe, eigentlich bin ich Viveks Hilfe gefolgt. Ich hatte diese Zeile nie zum Manifest hinzugefügt, aber meine Maschine tatsächlich in den Ruhezustand versetzt. Nach dem Neustart von Emulator und Eclipse war ich wieder betriebsbereit. danke
wired00
51

Das Dialogfeld Warten auf Debugger wird angezeigt, wenn Sie eine Debug-Anwendung erstellen oder irgendwo in Ihrem Quellcode Debug.waitingForDebugger () aufgerufen haben.

In Android Studio 2.0 und höher gibt es die Option Debugger an Android-Prozess anhängen. Dies ist der letzte Menüpunkt im Menü Ausführen.

Screenshot der Menüoptionen Ausführen in Android Studio

Victor Mwenda
quelle
Danke - das war genau mein Problem - Android N - Google Pixel - IntelliJ
bsautner
2
Bis heute musste ich das nie tun, aber jetzt muss ich. Ich muss versehentlich eine Einstellung geändert haben. Aber welches?
Eurig Jones
Vielen Dank, dass dies Hilfe ist
Truthadjustr
19

Sie sind sich nicht sicher, ob Sie danach suchen, aber versuchen Sie Folgendes:

android:debuggable="true"

im Anwendungs-Tag in der AndroidManifest.xml

Prateek Jain
quelle
Danke - ja, das habe ich -
Abhi
13
Das hat nichts mit seinem Problem zu tun. Eclipse aktiviert das Debuggen automatisch, wenn Sie im Debug-Modus starten. Sie möchten dies NICHT zu Ihrem Manifest hinzufügen, es sei denn, Sie möchten ausdrücklich, dass Ihre Release-Builds Debugging-Informationen ausgeben.
Justin Buser
Ich habe diese Zeile entfernt: android: debuggable = "false" und sie funktioniert jetzt perfekt.
dbv
10

Ich habe dieses Problem seit langem, dass ich meinen Android-Emulator oder mein Android-Gerät nicht mit dem Debugger verbinden kann, während sowohl die Konsole als auch der Emulator darauf warteten, eine Verbindung zum Debugger herzustellen .

Und die Konfiguration für das Debuggen in Eclipse hat mich vorher auch so verwirrt, aber heute habe ich dieses Problem durch die folgenden Schritte gelöst:

Wenn Sie ein Android-Projekt debuggen möchten, z. B. mypro . Sie würden mit der rechten Maustaste darauf klicken "Package Explorer". Then choose "Debug as"-->"Android Application".

Dann stoppt der Emulator möglicherweise beim "Warten auf Verbindung zum Debugger" (oder etwas Ähnlichem).

Anschließend müssen Sie selbst eine Verbindung zum Debugger herstellen, indem Sie auf "DDMS" klicken , um die DDMS-Perspektive zu öffnen, und auf die Registerkarte "Geräte" klicken .

Anschließend sehen Sie eine Liste der Prozesse, die auf Ihrem Emulator oder Gerät ausgeführt werden.

Doppelklicken Sie auf diejenige, die Sie debuggen, und wechseln Sie dann in die Debug-Perspektive. Sie können sehen, dass der Debugger verbunden ist, und Sie können Ihr Programm debuggen. So habe ich dieses Problem gelöst.

Mein Betriebssystem ist übrigens Win7 32-Bit. Die Version von Eclipse ist Helios Service Release 2. Das Android SDK ist rev. 16 und Plattform-Tools '10.

Aktualisieren.

Ich habe festgestellt, dass dies das Problem meiner TCP / IP-Konfiguration ist. Der Debugger kann nicht verbunden werden, wenn ich eine statische IP-Adresse zuweise (für den Zugang zum Internet).

Jedes Mal, wenn der Debugger keine Verbindung herstellen kann, führe ich die folgenden Schritte aus:

1. Schließen Sie das aktuelle Eclipse-Fenster.

2. Ändern Sie die Konfiguration der IP-Adresse in dynamisch. Dies bedeutet, dass Sie eine IP-Adresse per DHCP erhalten .

3. Öffnen Sie die Sonnenfinsternis erneut.

dann kann der Debugger verbunden werden. Ich dachte, es könnte ein Problem des internen Mechanismus des Java-Debuggers sein, der eine Socket-Verbindung verwendet.

Stevens
quelle
4
"2. Ändern Sie die Konfiguration der IP-Adresse in dynamisch. Dies bedeutet, dass Sie eine IP-Adresse per DHCP erhalten." Wie machst Du das? Bitte klären!
Ksice
@ Ksice Hallo, das bedeutet "IP-Adresse dynamisch abrufen". Tatsächlich basiert der interne Mechanismus des Android-Debuggers auf dem TCP / IP-Protokoll. Wenn Sie also eine statische IP-Adresse verwenden, kann das System Ihr Endgerät oder Ihren Emulator anscheinend nicht mit dem Debugger verbinden
Stevens
10

Ich bekomme das, wenn ich das USB-Kabel an einen anderen Anschluss meines PCs schalte, seltsam, aber es funktioniert, wenn ich es wieder zurückschalte. Ich glaube auch, dass ich das habe, wenn ein anderes Gerät oder ein anderer Emulator gleichzeitig ausgeführt wird oder zwei Instanzen von Eclipse geöffnet sind.

Andy
quelle
Für mich sah es nicht so aus, als hätte ich zwei Instanzen von Eclipse geöffnet, aber die Registerkarte "Prozesse" im Windows Task-Manager zeigte sie an.
Andrew Martin
Ja, Sie haben Recht, ich hatte zwei Instanzen von Eclipse ausgeführt. Nach dem Schließen der zweiten Eclipse-Instanz wurde das Problem behoben.
Signcodeindie
Wenn Sie die Android-Entwicklung IntelliJ IDEA ausprobiert haben, kann dies auch passieren, wenn Sie sowohl Eclipse als auch IntelliJ gleichzeitig geöffnet haben.
SilithCrowe
Ich habe es geschafft, in diese Situation zu geraten, indem zwei Instanzen von IntelliJ IDEA zwei Apps gleichzeitig debuggen. Danach startete eine der Apps nicht mehr und sagte immer wieder "Warten auf Debugger". Beheben Sie es schließlich, indem Sie das USB-Kabel abziehen und das Gerät aus- und wieder einschalten.
RenniePet
4

Für diejenigen, die dieses nervige Verhalten in 4.2.2 erhalten, müssen Sie die Einstellung für "Warten auf Debugger" in den Entwickleroptionen deaktivieren. Natürlich wurden diese Optionen von Google ausgeblendet, und Sie müssen einen hinterhältigen Trick ausführen, damit sie wieder angezeigt werden. Ich hatte sie gesetzt, bevor sie verschwanden, und konnte sie für mein ganzes Leben nicht wiederfinden.

Diese Seite erklärt die Vorgehensweise

John
quelle
Wir können diese Optionen wieder nutzen, ich glaube, ich habe es herausgefunden. aber danke, das hat geholfen.
stack_ved
3

Beim Ausführen von Android Studio stieß ich auf dieses Problem, und nachdem ich verschiedene Abhilfemaßnahmen ausprobiert hatte, schien ein Neustart von Android Studio das Problem zu beheben.

ThomasW
quelle
3

Meine Lösung besteht darin, den Dalvik Debug Monitor zu verwenden. Manchmal gibt es neben einem Prozess einen roten oder grünen Fehler. Klicken Sie auf das Gerät, auf das Sie laden möchten. Wählen Sie die Registerkarte Aktionen und setzen Sie adb zurück. Dies hängt normalerweise den Debugger für mich an. Ich finde, dass das Debuggen über diesen Monitor für mich besser funktioniert als die Verwendung des Android Eclipse-Plugins Logcat.

Karol
quelle
Ich kann bestätigen, dass das Zurücksetzen des ADB (über die Registerkarte Aktionen), wie Sie es beschrieben haben, dieses Problem für mich behoben hat. Dies ist ein Debugging mit einem Emulator, auf dem 4.0 ausgeführt wird.
Ubzack
1
Können Sie erklären, was Sie damit meinen: "Meine Lösung besteht darin, den Dalvik Debug Monitor zu verwenden. Manchmal tritt neben einem Prozess ein roter oder grüner Fehler auf. Klicken Sie auf das Gerät, auf das Sie laden möchten. Wählen Sie die Registerkarte Aktionen und adb zurücksetzen. " Was sind die Schritte dazu?
Regis_AG
2

Emulator schließen und Eclipse schließen. Das erneute Öffnen von Eclipse und das Starten des Simulators hat bei mir funktioniert.

Der Schlüssel, nach dem Sie suchen müssen, befindet sich im Gerätebereich von Eclipse. Wenn Sie den Emulator oder das Gerät starten und es in der Gerätenamenliste angezeigt wird, aber [null] sagt und keine laufenden Prozesse darunter angezeigt werden, funktioniert es beim Laden Ihrer App nicht richtig.

Wenn der Name des Geräts angezeigt wird und Online ist, scheinen die Dinge reibungslos zu funktionieren.

Ich weiß nicht, warum es nicht immer funktioniert.

CQM
quelle
2

In meinem Fall wird das Problem durch adb verursacht, das mit einem anderen Gerät verbunden ist.

Wenn mehrere Geräte an den PC angeschlossen sind, entfernen Sie andere Geräte als das erforderliche.

Gilchris
quelle
2

Am Ende gehe ich in die "Debug" -Perspektive.

Dann gibt es im "Debug" -Rahmen eine Debugliste oder eine Ausführungsliste.

Sie müssen entscheiden, welches Ihr aktuelles Problem ist (Warten auf Debug ...)

Klicken Sie dann mit der rechten Maustaste und wählen Sie "Beenden und Entfernen".

Dann versuchst du erneut zu rennen. Und diese Warnbox wird verschwunden sein.

Apisarn Sasuk
quelle
2

Ein Neustart des Telefons war die Lösung für mich.

Stoica Mircea
quelle
1

Wenn Ihre Entwicklungsumgebung Windows ist, stellen Sie sicher, dass die USB-Treiber korrekt installiert sind.

Eine Möglichkeit, um sicherzustellen, dass die USB-Treiber korrekt installiert sind, besteht darin, das PDANet Windows-Installationsprogramm zu erhalten und die USB-Treiber installieren zu lassen.

Die PDANet-Seite finden Sie hier.

JimR
quelle
Ich könnte es zum Laufen bringen, ohne das PDANet herunterladen zu müssen. Ich habe einfach alles neu gemacht, einschließlich der Deinstallation der vorherigen Anwendung - mit adb deinstallieren (zuvor habe ich das Applet "Einstellungen" verwendet, um die Anwendung zu deinstallieren). Vielen Dank für die Veröffentlichung über PDANet. Bisher war Lains Vorschlag der einzige, den ich vermisste - aber seine Antwort war, bevor das Kopfgeld angeboten wurde. Ich mag auch Ihre Antwort - ich hoffe, jemand anderes stimmt über Ihre Antwort ab - wenn das passiert, können Sie und Lain das Kopfgeld teilen - das System lässt mich das Kopfgeld nicht aufteilen.
Abhi
Das hat nichts mit seinem Problem zu tun. Die Treiber sind eindeutig bereits installiert, da die Konsolenausgabe zeigt, dass ADB das Gerät abfragt und feststellt, dass die Anwendung bereits installiert ist, und sie dann startet.
Justin Buser
1

Ich würde versuchen, eine eigene Verbindung mit ddms ohne Eclipse herzustellen. Möglicherweise führen Sie einen Emulator in Eclipse aus, den Sie nicht sehen, oder haben andere Probleme mit Eclipse.

Führen Sie einfach ddms an einer Eingabeaufforderung aus und prüfen Sie, ob das Gerät angezeigt wird und Sie eine Verbindung herstellen können.

Sie können auch sehen, ob beim Ausführen adb devicesangezeigt wird, dass Ihr Telefon aufgelistet ist (und möglicherweise etwas anderes enthält).

Manfred Moser
quelle
1

Ich habe das gleiche Problem, ich weiß, dass ich keine anderen Instanzen ausgeführt habe, und ich konnte es damit sehen adb devices. Ich habe gerade einen Neustart von Eclipse durchgeführt und es hat funktioniert.

b-ryce
quelle
1

Der Neustart des PCs war das einzige, was für mich funktioniert hat. Es hat funktioniert, als ich dieses Problem mit einem Android 2.2-Telefon und einem Android 3.1-Tablet hatte.

Mr. Bungle
quelle
Hat für mich funktioniert - es mag ein Zufall sein, aber es wartete ein Windows-Update.
OldCurmudgeon
1

Ich habe dieses Problem folgendermaßen gelöst:

Zum Ausführen Menü ====> klicken Sie auf Konfigurationen bearbeiten ====> Micellaneous und finaly deaktivieren Sie die Option Überspringen Installation wenn APK nicht geändert hat

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

Marco Aurelio Silva
quelle
0

Ich bin heute auf dieses Problem gestoßen. Nachdem ich den größten Teil des Tages damit verbracht hatte, das Problem zu beheben, funktionierte ich nur noch, um einen neuen Arbeitsbereich zu erstellen und mein Projekt darin zu importieren. Ich hoffe, das hilft jemandem, all die Schwierigkeiten zu vermeiden, die ich durchgemacht habe.

JP2014
quelle
0

Ich stoße auch auf dieses Problem. In meiner Umgebung verwende ich einen Tomcat als Server und Android als Client. Ich fand, wenn Tomcat gestartet wird, dieser Fehler "Startfehler: Verbindung zur Remote-VM konnte nicht hergestellt werden. Zeitüberschreitung der Verbindung." wird passieren. Wenn Tomcat nicht ausgeführt wird, funktioniert adb gut.

Daniel
quelle
0

Ich habe alle oben genannten Lösungen ausprobiert. Manchmal wird das Problem dadurch behoben, aber von Zeit zu Zeit blieb ich beim Meldungsfeld "Warten auf das Anhängen des Debuggers" hängen.

Die endgültige Lösung in meinem Fall bestand darin, alle Android-Geräte außer dem zu trennen, auf dem ich debuggen möchte. Ich weiß nicht, welcher der Schuldige ist: das Nexus 7 mit JB 4.2, das HTC One X mit ICS, das HTC Desire S mit Gingerbread oder die Kombination der 3, aber sobald ich nur ein Gerät angeschlossen habe läuft es glatt wie Seide.

Alexis Taube
quelle
0

Ich habe den Task-Manager verwendet, um adb.exe zu beenden und dieses Problem zu lösen. Adb.exe wird automatisch gestartet, nachdem es getötet wurde.

Das Töten von adb.exe hat für mich bisher viele Probleme im Zusammenhang mit Debug und Emulatoren gelöst.

Hong
quelle
0

Für Android Studio- Benutzer trat dieses Problem zum ersten Mal auf, als ich versuchte, ein Bare-Bone-Projekt auszuführen, nachdem ich meinen JDK-Speicherort aktualisiert hatte . Also bin ich über diesen Beitrag gestolpert. In meinem Fall hat einfaches Build-> Clean Project den Job gemacht.

Illegales Argument
quelle
0

Ich hatte auch das gleiche Problem bei der Verwendung von Android Studio und GenyMotion. Ich kann dieses Problem lösen, indem ich das Programm anhalte und es wieder aufnehme, nachdem die Meldung "Warten auf Debugger" angezeigt wird. Es kann auch bei Verwendung anderer IDEs und Emulatoren funktionieren.Geben Sie hier die Bildbeschreibung ein

Suresh Subedi
quelle
0

Android Studio 1.2.2 unter Mac OS 10.10 Das gleiche Problem wie von anderen gemeldet. Ich habe Android Studio geschlossen und dann über die Befehlszeile im Terminal überprüft:

ps -efw | grep -i android

Dies meldete einen Java-Prozess (.gradle / Daemon), der mit Android Studio verbunden ist. Ich habe diesen Prozess abgebrochen, Android Studio neu gestartet und das Problem ist behoben.

Blistererdnüsse
quelle
0

Deaktivieren Sie die Entwickleroption in Ihrem Telefon.

Einstellungen> Entwickleroption> Deaktivieren

Dies funktionierte für mich, als ich versuchte, meine Anwendung zu verwenden, ohne sie zu debuggen.

Fazal
quelle
0

Was das Problem für mich löste, war: "Ausführen" -> "Debugger an Android-Prozess anhängen" und dann Ihren Prozess auswählen.

Sie tun dies in Android Studio.

Sid
quelle
0

Ich hatte das gleiche Problem, das durch explizite Auswahl des gewünschten Geräts in der Debug-Konfiguration behoben wurde. Leider stoppt das Protokoll auch danach manchmal, wenn der Debugger versucht, eine Verbindung herzustellen. In diesem Fall finden Sie in DDMS-Perspektive den gewünschten Prozess. Es wird mit einem grünen Fehler hervorgehoben. Klicken Sie auf Stopp und debuggen Sie es erneut.

Andrey Talnikov
quelle
0

Dies mag alt sein, aber für das neueste Update 2.7.1 von Genymotion gehen Sie zu Entwickleroptionen . Wenn Sie nicht wissen, wie Sie diese Option öffnen können, gehen Sie zu Info-Telefon und klicken Sie einige Male auf Build-Nummer. Die Entwickleroptionen werden aktiviert. Aktivieren Sie die Entwickleroption und überprüfen Sie das USB-Debugging .

Getestet mit Genymotion 4.4 und höher. Seltsame Lösung wie? Funktioniert aber definitiv. Ich hoffe es hilft. Viel Spaß beim Codieren.

ralphgabb
quelle
0

Im Debug-Modus stellt Android Studio über den Socket (: 8600) eine Verbindung zu Ihrem Gerät her. Irgendwie ist Ihre Socket-Verbindung verstopft und reagiert daher nicht auf eingehende Verbindungen.

Starten Sie Android Studio neu und Ihr Problem wird behoben

HimalayanCoder
quelle
-1

Ich habe viel darüber gelesen und die einzige Lösung, die für mich funktioniert hat, war, ein neues Projekt zu erstellen und dann das alte Projekt wieder hinein zu kopieren.

pstorli
quelle