使用Eclipse进行Android调试-无断点

使用Eclipse进行Android调试-无断点,android,eclipse,debugging,Android,Eclipse,Debugging,我试图在emultor或设备上调试一个简单的Android应用程序,但我无法让调试器在我设置的任何断点上停止。我结合了这里和整个web上的其他帖子,尝试了所有建议(在清单中添加可调试的:“true”、停止和启动adb、清除所有内容、确保使用调试按钮而不是运行按钮,等等)。在调试透视图中,我可以看到线程,在DDMS中,它会在我正在调试的设备旁边显示调试图标。我确实看到了设置断点的蓝点,调试透视图列出了它们,并表示它们处于活动状态 我已经在断点之前发出了警报,以验证代码是否正在执行 开始疯狂了。还有

我试图在emultor或设备上调试一个简单的Android应用程序,但我无法让调试器在我设置的任何断点上停止。我结合了这里和整个web上的其他帖子,尝试了所有建议(在清单中添加可调试的:“true”、停止和启动adb、清除所有内容、确保使用调试按钮而不是运行按钮,等等)。在调试透视图中,我可以看到线程,在DDMS中,它会在我正在调试的设备旁边显示调试图标。我确实看到了设置断点的蓝点,调试透视图列出了它们,并表示它们处于活动状态

我已经在断点之前发出了警报,以验证代码是否正在执行

开始疯狂了。还有其他建议吗?我一定错过了一些简单但不明显的东西

更新:我很感谢到目前为止的回复。不幸的是,他们没有解决我的问题。我已按照调试说明进行调试,并已在手机中打开调试。此外,启动时我确实会在手机上看到“等待调试器”警报。一般来说,一切都表明我正在调试(包括获取我添加的logcat输出)。它不会在我添加的断点上停止,这些断点列在调试透视图的断点选项卡中。也只是重申一下——在设备和模拟器上调试时都会发生这种情况。我注意到的一件事是,当我启动调试器时,我将其设置为打开Android设备选择器。在那里,我的设备的“debug”列为空-但是如果模拟器正在运行,debug列会说“Yes”。控制台还声明正在尝试连接到调试器。是否应该有一个控制台日志来声明调试器已成功连接?我看不到这一点

更新20120914:我已经离开这个有一段时间了,之前已经放弃了。回来尝试解决这个问题。这个问题仍然没有解决。上面的一切仍然是最新的——但我注意到了另一件事。我在主活动上设置了一个类加载断点,它确实停在那里。它只是不在任何行断点处停止。我刚刚更新到最新的JDK1.7.0_07,Android SDK 20,ADT插件20.0.3。我已经使用logcat输出了一条消息,并在这一行上设置了一个断点。我在logcat中看到消息,因此我知道代码正在执行。debig透视图中的debug窗口也确实显示了android应用程序,它下面有许多线程,而DDMS透视图中的Devices窗口显示了应用程序,旁边有绿色的bug图标

还有一件事-当调试器运行行断点时,项目符号不会在其上覆盖复选标记(类加载断点会)。我猜这是根本原因——但我不知道他们为什么不明白这一点。(顺便说一下,也没有设置跳过断点-断点没有穿过断点的行)


如有任何新建议,将不胜感激。我为此浪费了很多时间。这肯定是我没有看到的东西。

Android SDK提供了调试应用程序所需的大部分工具。此链接将向您介绍所使用的

这里还有一个关于

如果要使用实际的android手机进行调试,请在设备中启用“USB调试”

设置>应用程序>开发并启用USB调试

安卓4.0:

设置>开发人员选项


并使用
Log.d
和您的
Logcat

Eclipse有一个调试运行配置。只有使用调试运行配置,才能在启动期间将调试器附加到应用程序


应用程序启动(在设备/模拟器上)是否在“等待调试器”时暂停?如果不是,则您不会使用“调试配置”启动应用程序。这是运行(下拉)配置最左边的按钮。

现在我觉得写这篇文章有点愚蠢。但我最终解决了我的问题。问题是不能在Javascript代码中设置断点。我无意中遗漏了一部分,那就是我正在使用PhoneGap为Android编写一个应用程序。几乎所有的代码都是Javascript。我已经习惯于在VisualStudio中开发.NET web应用程序,我只是假设您可以在javascript代码中设置断点。Java代码中的断点恰好工作正常。无论如何,谢谢你的建议。做",;我不知道是否还有其他.NET开发人员在尝试PhoneGap开发,但这篇文章可能会对他们有所帮助。

试试jsHybugger:在Eclipse中为远程(移动)设备设置javascript断点

它允许您设置断点、单步执行、捕获异常以及与JS/DOM环境交互。您可以从Eclipse或远程桌面上的Chrome或Chrome兼容调试器使用它。它可以与创建自己网络视图的应用程序一起使用


但是,您必须安装一些文件,但使用起来可能不会比weinre更复杂。它确实对JS文件进行了大量修改(动态地,对用户透明地),以启用所有这些调试——webKit确实应该在本机上支持javascript调试。

确保您没有选中跳过所有断点(运行->跳过所有断点)。

Ribo在回答中已经提到了这一点,但因为这个问题和答案是关于调试Phonegap应用程序的。 你一定要看看weinre(WEb INspector REmote)。

如今,phonegap甚至在phonegap的构建中加入了自己的weinre。。。


我是这个的超级粉丝。。。(请注意,如果您在本地机器上使用weinre并试图通过wifi调试phonegap应用程序,请确保您的本地设备位于同一wifi网络上!)

这不是问题的相关答案。至少我在其他任何地方都看不到webview/phonegap/javascript,而不是在另一个答案中。我认为这与他被问到有关