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

时间:2010-12-07 10:01:47

标签: android eclipse debugging device adb

我使用SDK 2.2连接到Eclipse的HTC Comet。我做了一个调试版本 - 应用程序没有运行;虽然它确实安装在设备上。在设备上,我在Comet屏幕上显示此消息框

等待调试器
应用程序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.  

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

31 个答案:

答案 0 :(得分:67)

如果应用程序在其清单文件中设置了android.permission.SET_DEBUG_APP权限,某些设备将只允许调试器附加:

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

答案 1 :(得分:40)

如果您正在构建调试应用程序或源代码中的某个位置,则会显示Dialog Waiting for Debugger,您调用了Debug.waitingForDebugger();

在Android Studio 2.0及更高版本中,可以选择将调试程序附加到Android进程。它是“运行”菜单中的最后一个菜单项。

Screen shot of Run menu options in Android Studio

答案 2 :(得分:19)

不确定这是否是您要找的,但请尝试:

android:debuggable="true"

AndroidManifest.xml

中的应用标记中

答案 3 :(得分:10)

如果我将usb线切换到我的PC上的差分端口,我得到这个,奇怪但是当我再次切换它时它会起作用。此外,我认为当有另一台设备或模拟器同时运行,或者两个Eclipse实例打开时,我已经有了这个。

答案 4 :(得分:10)

我已经解决了这个问题很长时间我无法让我的android模拟器或设备连接到调试器,而控制台和模拟器都显示等待连接到调试器

在Eclipse中调试的配置也让我很困惑,但是今天,我通过以下步骤解决了这个问题:

当您想要调试Android项目时,例如, mypro 。你可以在"Package Explorer". Then choose "Debug as"-->"Android Application"

中右击它

然后,模拟器可能会停止在“等待连接到调试器”(或类似于此的其他内容)。

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

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

双击要调试的那个,然后切换到Debug透视图,可以看到调试器已连接,您可以调试程序。这就是我解决这个问题的方法。

顺便说一句,我的操作系统是Win7 32位。 Eclipse的版本是Helios Service Release 2.Android SDK是rev。 16和平台工具'10。

<强>更新

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

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

1.关闭当前的eclipse窗口。

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

3.再次打开日食。

然后可以连接调试器。我认为这可能是java调试器的内部机制问题,它使用套接字连接。

答案 5 :(得分:4)

对于那些在4.2.2中遇到这种烦人行为的人,你必须在开发者选项中取消选中“等待调试器”的设置。当然,谷歌隐藏了这些选项,你必须做一个偷偷摸摸的技巧让它们显示出来。在他们消失之前我已经把它们放好了,并且在我的生活中不能再找到它们了。

This page explains the procedure

答案 6 :(得分:3)

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

答案 7 :(得分:2)

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

答案 8 :(得分:2)

在我的情况下,问题是由与其他设备连接的adb引起的。

如果在PC中连接了多个设备,请删除除必需设备以外的其他设备。

答案 9 :(得分:2)

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

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

如果设备的名称出现并且处于在线状态,那么事情似乎很顺利。

不知道为什么它一直没有用完。

答案 10 :(得分:2)

我最终进入“调试”视角。

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

您必须决定哪一个是您当前遇到此问题的那个(等待 用于调试...)

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

然后你再试一次。那个警告框就会消失。

答案 11 :(得分:1)

重新启动PC是唯一对我有用的东西。当我在使用Android 2.2手机和Android 3.1平板电脑时出现此问题时,它可以正常工作。

答案 12 :(得分:1)

我用这种方式解决了这个问题:

转到运行菜单====&gt;点击修改配置 ====&gt; Micellaneous 并最终取消选中如果APK未更改则跳过安装

选项

enter image description here

enter image description here

答案 13 :(得分:1)

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

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

您可以找到PDANet页面here.

答案 14 :(得分:1)

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

只需从命令提示符运行ddms,看看设备是否出现,您就可以连接到它。

您还可以查看在运行adb devices时是否显示并看到您的手机已列出(并可能还有其他内容......)

答案 15 :(得分:1)

我遇到了同样的问题,我知道我没有运行任何其他实例,我可以用adb devices看到它。我刚刚重启了eclipse,但它确实有效。

答案 16 :(得分:0)

重启手机是我的解决方法。

答案 17 :(得分:0)

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

答案 18 :(得分:0)

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

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

答案 19 :(得分:0)

这可能很旧,但对于Genymotion的最新更新2.7.1,请转到开发人员选项,如果您不知道如何打开该选项,请转到关于手机并点击内部版本号几次,系统会启用开发者选项。 打开开发人员选项,选中 USB调试

在Genymotion 4.4及以上测试。 奇怪的解决方案呃?但绝对有效。希望能帮助到你。 快乐的编码。

答案 20 :(得分:0)

为我解决问题的原因是: “运行” - &gt;“将调试程序附加到Android进程”,然后选择您的进程。

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

答案 21 :(得分:0)

禁用手机中的开发者选项。

设置&gt;开发人员选项&gt;禁用

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

答案 22 :(得分:0)

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

ps -efw | grep -i android

这报告了与Android Studio关联的java进程(.gradle / daemon)。我杀了这个过程,重新启动Android Studio,问题就消失了。

答案 23 :(得分:0)

使用Android Studio和GenyMotion时,我也遇到了同样的问题。 我可以通过暂停程序并在显示“Waiting for debugger”消息后再次恢复它来解决此问题。它也可以在使用其他IDE和模拟器时工作。enter image description here

答案 24 :(得分:0)

对于 Android Studio 用户,我在尝试运行裸机时第一次遇到此问题 更新我的 jdk位置之后的骨骼项目。所以我偶然发现了这篇文章。就我而言,简单的构建 - &gt;清洁项目完成了这项工作。

答案 25 :(得分:0)

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

到目前为止,杀死adb.exe解决了很多与调试和模拟器相关的问题。

答案 26 :(得分:0)

我尝试了上面的所有解决方案,它有时解决了这个问题,但仍然偶尔会遇到“等待调试程序附加”消息框。

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

答案 27 :(得分:0)

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

答案 28 :(得分:0)

我今天遇到了这个问题。在花了大部分时间尝试修复它之后,唯一能够完成工作的是创建一个新的工作区并将我的项目导入其中。我希望这可以帮助别人避免我遇到的所有麻烦。

答案 29 :(得分:-1)

已经阅读了很多关于此问题的唯一解决方案是创建一个新项目,然后将旧项目复制回来。

答案 30 :(得分:-1)

&#34;等待调试器&#34;在Developer选项中可能已经设置为等待你的应用程序。请清除该选项,应用程序应该正常运行。