如何解决“等待调试器”消息?


94

我已经用SDK 2.2将HTC Comet连接到Eclipse。我进行调试构建-应用程序无法运行;尽管它确实已安装在设备上。在设备上,我在彗星屏幕上看到此消息框

等待调试器
应用程序HunyDew(进程com.airvine.hunydew)正在等待调试器附加。
[强制关闭]

而在Eclipse控制台中,我得到了这些消息集

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

该应用程序可以在模拟器中正常运行-请帮助-我在这里缺少什么?有任何提示/建议吗?谢谢


2
您是否已打开手机中的“ USB调试”选项?设置-应用程序-开发-USB调试。
耶稣奥利瓦(Oliva)2010年

该选项已在手机中设置。
Abhi 2010年

我知道了,记得几秒钟后它消失了,然后该应用程序最终启动了。你明白了吗?
chaimp 2010年

15
如果您打开了多个Eclipse实例,则经常会发生这种情况。我发现的唯一解决方案是关闭其他实例。如果有人有更好的解决方案-请帮忙。
nikib3ro 2011年

对我来说,下面描述的修复程序可以解决问题。martinahrer.at/2009/04/16/…–

Answers:


68

仅当应用在清单文件中设置了android.permission.SET_DEBUG_APP权限时,某些设备才会让调试器附加:

<manifest>
  <uses-permission android:name="android.permission.SET_DEBUG_APP"></uses-permission>
</manifest> 

8
我添加了它,这是丢失的-行为保持不变
Abhi 2010年

通过端口8601可以访问您的电话吗?如果在月食中进入“窗口”菜单->“显示视图”->“其他”->“ Android”->“设备”,该视图是否显示您的应用程序正在该端口上监听?
伊恩

是的,电话似乎在端口8601上可访问-如果我从Eclipse截获了(设备的)屏幕截屏,则可以使用。
Abhi 2010年

23
我遇到了同样的问题,只是我在Android模拟器中遇到了问题。我发现,如果您在Eclipse或仿真器运行时让计算机进入睡眠状态,那么它们之间的连接就会混乱。重新启动模拟器和Eclipse之后,我的问题消失了。
Vivek

1
很大的帮助,实际上我遵循了Viveks的帮助。我从来没有将该行添加到清单中,但实际上让我的机器进入了睡眠状态。重新启动仿真器和Eclipse之后,我已备份并正在运行。谢谢
有线00年

51

如果您正在构建调试应用程序或在源代码中的某个位置调用了Debug.waitingForDebugger(),则会显示“等待调试器对话框”。

在Android Studio 2.0及更高版本中,有一个将调试器附加到Android Process的选项。它是“运行”菜单中的最后一个菜单项。

Android Studio中“运行”菜单选项的屏幕截图


谢谢-这正是我的问题-Android N-Google Pixel-IntelliJ
bsautner

2
在此之前,我从未必须这样做,但现在我必须这样做。我一定是不小心更改了设置。但是哪个呢?
Eurig Jones,

谢谢您的帮助,
trueadjustr

19

不确定这是否是您要寻找的,但是尝试输入:

android:debuggable="true"

在应用程序标签中 AndroidManifest.xml


谢谢你-是的,我确实有这-
ABHI

13
这与他的问题无关,当您在调试模式下启动时,Eclipse自动启用调试。您不希望将其添加到清单中,除非您特别希望发行版能够输出调试信息。
贾斯汀·布什

我删除了这一行:android:debuggable =“ false”,它现在可以完美运行了。
dbv

10

我这个问题已经存在很长时间了,以致于我无法在控制台和仿真器都在显示等待连接调试器的同时,将我的android仿真器或设备连接到调试

之前在eclipse中进行调试的配置也使我感到非常困惑,但是今天,我通过以下步骤解决了这个问题:

例如,当您要调试android项目时,mypro。您将在中右键单击它"Package Explorer". Then choose "Debug as"-->"Android Application"

然后,仿真器可能会在“等待连接调试器”(或类似的东西)处停止。

然后,您需要单击“ DDMS”以打开DDMS透视图,然后单击“设备”选项卡,以自行连接到调试器。

然后,您可以看到模拟器或设备上正在运行的进程的列表。

双击要调试的程序,然后转到“调试”透视图,可以看到调试器已连接,并且可以调试程序。这就是我解决这个问题的方式。

顺便说一句,我的操作系统是Win7 32位。Eclipse的版本是Helios Service Release2。AndroidSDK是修订版。16和平台工具的10。

更新。

我发现这是我的TCP / IP配置问题。当我分配一个静态IP地址(用于访问Internet)时,无法连接调试器。

因此,每次调试器无法连接时,我总是执行以下步骤:

1.关闭当前的日食窗口。

2.将IP地址的配置更改为动态,这意味着通过DHCP获取IP地址。

3.再次打开月食。

那么调试器就可以连接了。我认为这可能是使用套接字连接的Java调试器内部机制的问题。


4
“ 2.将IP地址的配置更改为动态,这意味着通过DHCP获取IP地址。” 你怎么做到这一点?请澄清一下!
Ksice 2012年

@Ksice嗨,这意味着“动态检索IP地址”。实际上,Android调试器的内部机制基于TCP / IP协议,因此,当您使用静态IP地址时,似乎系统无法将终端设备或仿真器与调试器连接
Stevens 2012年

10

如果将USB电缆切换到PC上的另一个端口上,我会收到此消息,这很奇怪,但是当我再次将其切换回该端口时,它仍然可以工作。另外,我想当同时有另一个设备或仿真器运行,或者打开两个Eclipse实例时,我就知道了。


对我来说一样,看起来好像我没有打开两个Eclipse实例,但是Windows Task Manager的进程选项卡显示了它们。
安德鲁·马丁

是的,您是对的,我有两个Eclipse运行实例。关闭第二个eclipse实例后,问题已解决。
Signcodeindie 2013年

如果您一直在尝试android开发IntelliJ IDEA,那么如果同时打开Eclipse和IntelliJ,也会发生这种情况。
SilithCrowe

我设法通过让IntelliJ IDEA的两个实例同时调试两个应用程序来解决这种情况。之后,其中一个应用程序将不再启动,一直说“等待调试器”。最后,通过断开USB电缆并重新打开和关闭设备的电源来固定它。
RenniePet 2014年

4

对于那些在4.2.2中出现这种烦人行为的用户,必须在开发人员选项中取消选中“等待调试器”的设置。当然,这些选项已被Google隐藏,您必须做一个狡猾的技巧才能使它们重新显示。在它们消失之前,我已经设置好它们,而我一生都找不到它们。

本页说明了步骤


我们可以重新启用这些选项,我想我已经知道了。但是,谢谢,这有所帮助。
2013年

3

在运行Android Studio时,我遇到了这个问题,在尝试了各种补救措施后,重新启动Android Studio似乎可以解决此问题。


3

我的解决方案是使用Dalvik调试监视器。有时,过程旁边有一个红色或绿色的错误。单击您要加载到的设备。选择“操作”选项卡并重置adb。这通常为我附加了调试器。我发现通过此Monitor进行调试比使用Android Eclipse插件Logcat更好。


我可以确认像您描述的那样重置ADB(通过“操作”选项卡)为我解决了此问题。这是使用运行4.0的模拟器进行调试。
ubzack 2011年

1
您能否解释一下以下含义:“我的解决方案是使用Dalvik调试监视器。有时,进程旁边有一个红色或绿色的错误。单击您要加载到的设备。选择“操作”选项卡,然后重置adb。” 有哪些步骤可以做到这一点?
Regis_AG 2012年

2

关闭模拟器并关闭Eclipse。重新打开Eclipse并启动模拟器对我有用。

要查找的关键是在Eclipse的“设备”窗格中。如果您启动模拟器或设备,并且该设备显示在设备名称列表中,但显示[null],并且其下没有正在运行的进程,则将其加载到您的应用程序中将无法正常工作。

如果设备名称显示为“ Online”(联机),则表明一切正常。

不知道为什么它不能一直解决。


2

就我而言,问题是由adb与另一台设备连接引起的。

如果PC中连接了多台设备,请移除除所需设备以外的其他设备。


2

我最终进入“调试”透视图。

然后在“调试”框架中,有调试列表或运行列表。

您必须确定哪个是当前存在此问题的一个(正在等待调试...)

然后右键单击并选择“终止并删除”。

然后,您尝试再次运行。而且该警告框将消失。



1

如果您的开发环境是Windows,请确保正确安装了USB驱动程序。

确保正确安装USB驱动程序的一种方法是获取PDANet Windows安装程序并让其安装USB驱动程序。

您可以在这里找到PDANet页面


我无需下载PDANet就可以使用它。我只是重做了所有事情,包括卸载以前的应用程序-使用adb卸载(以前我是使用“设置小程序”来卸载应用程序)。不过,感谢您发布有关PDANet的信息。到目前为止,Lain的建议是我唯一缺少的建议-但他的回答是在提供赏金之前。我也喜欢您的答案-我希望其他人投票支持您的答案-如果发生这种情况,那么您和Lain可以分享赏金-系统不允许我分配赏金。
阿比

这与他的问题无关,因为控制台输出显示ADB正在查询设备并找到已安装的应用程序,然后启动它,所以驱动程序已明确安装。
贾斯汀·布什

1

我会尝试在没有Eclipse的情况下自行使用ddms连接到电话。您可能在eclipse中运行了您看不到的模拟器,或者在Eclipse中遇到了其他一些问题。

只需在命令提示符下运行ddms,然后查看设备是否出现并可以连接。

您还可以查看跑步时是否出现,adb devices并看到您的手机已列出(可能还有其他功能。)


1

我遇到了同样的问题,我知道我没有在运行任何其他实例,并且可以通过看到它adb devices。我只是重新启动了eclipse,所以它起作用了。


1

重启PC是唯一对我有用的方法。当我在Android 2.2手机和Android 3.1平板电脑上遇到此问题时,此功能就起作用了。


为我工作-这可能是一个巧合,但是有一个Windows更新正在等待。
OldCurmudgeon

1

我这样解决了这个问题:

转到“运行”菜单====>单击“ 编辑配置” ====> 杂项最终取消选中选项如果APK尚未更改,则跳过安装

在此处输入图片说明

在此处输入图片说明


0

我今天遇到了这个问题。在花了整整一天的时间尝试修复它之后,最终起作用的唯一事情是创建一个新的工作区并将我的项目导入其中。我希望这可以帮助某人避免我遇到的所有麻烦。


0

我也解决这个问题。在我的环境中,我使用tomcat作为服务器,使用android作为客户端。我发现,如果启动了tomcat,则出现此错误“启动错误:无法连接到远程VM。连接超时。” 会发生。如果tomcat没有运行,则adb可以正常运行。


0

我尝试了上述所有解决方案,有时可以解决该问题,但仍然时不时地遇到“等待调试器附加”消息框。

我的最终解决方案是拔出所有要调试的Android设备,但要拔出所有设备。我不知道是哪一个罪魁祸首:运行JB 4.2的Nexus 7,运行ICS的HTC One X,运行Gingerbread的HTC Desire S或3的组合,但是只要插上一台设备, ,它像丝绸一样光滑。


0

我使用任务管理器杀死adb.exe来解决此问题。Adb.exe被杀死后将自动启动。

到目前为止,杀死adb.exe已经为我解决了许多与调试和仿真器有关的问题。


0

对于Android Studio用户,在更新我的jdk位置后尝试运行裸机项目时,我第一次遇到此问题。所以我偶然发现了这篇文章。以我为例,简单的Build-> Clean Project完成了这项工作。


0

使用Android Studio和GenyMotion时,我也遇到同样的问题。通过显示“等待调试器”消息,我可以通过暂停程序并再次恢复来解决此问题。在使用其他IDE和仿真器时,它也可能起作用。在此处输入图片说明


0

Mac OS 10.10上的Android Studio 1.2.2与其他已报告的问题相同。我关闭了Android Studio,然后在终端的命令行中进行了检查:

ps -efw | grep -i android

这报告了与Android Studio相关的Java进程(.gradle / daemon)。我取消了这个过程,重新启动了Android Studio,然后问题消失了。


0

禁用手机中的开发人员选项。

设置>开发者选项>禁用

当我尝试使用我的应用程序而不调试时,这对我有用。


0

为我解决了问题的方法是:“运行”->“将调试器附加到Android进程”,然后选择您的进程。

您可以在Android Studio中执行此操作。


0

我遇到了同样的问题,通过在调试配置中显式选择所需的设备来解决此问题。不幸的是,即使在调试器尝试连接时,该日志有时也会停止。在这种情况下,可以在DDMS透视图中找到所需的过程。它将以绿色错误突出显示。单击停止,然后再次调试。


0

这可能很旧,但是对于Genymotion的最新更新2.7.1,请转至“ 开发人员选项”,如果万一您不知道如何打开该选项,请转至“ 关于电话”并单击“ 内部版本号”几次,然后将启用“开发人员”选项。打开开发人员选项,检查USB调试

在Genymotion 4.4及更高版本上进行了测试。奇怪的解决方案是吗?但是绝对可以。希望能帮助到你。快乐的编码。


0

在调试模式下,Android Studio通过套接字(:8600)连接到您的设备。不知何故,您的套接字连接被阻塞,因此无法响应传入的连接。

重新启动Android Studio,您的问题将得到解决


-1

已经阅读了很多有关此内容的信息,对我而言唯一有效的解决方案是创建一个新项目,然后将旧项目复制回其中。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.