我已经编写了带有远程接口的服务,并将其安装在PC的Eclipse AVD上。我有一个客户端测试工具,可以启动和调用服务中的方法。最初,我是通过控件类和活动安装的服务,现在已将其删除,因此该服务的清单如下所示:
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.myname.gridservice"
android:versionCode="1"
android:versionName="1.0">
<application
android:icon="@drawable/icon"
android:label="@string/app_name"
android:debuggable="true">
<service
android:enabled="true"
android:debuggable="true"
android:name="OverlayService">
<intent-filter>
<action android:name="com.myname.OverlayService.SERVICE"/>
<action android:name="com.myname.gridservice.IRemoteInterface" />
</intent-filter>
</service>
</application>
</manifest>
因此没有活动标签。
当我从Eclipse中的调试图标启动它时,控制台会告诉我它正在安装apk(它确实是),但是它并没有作为调试线程出现,也没有触发断点,尽管该服务的行为到目前为止还可以如客户所见。如果将服务标签包装在具有关联类的活动标签中并启动它,则可以对其进行调试。
是否可以在不将其包装在活动中的情况下调试该服务?
您可以按照以下四个步骤进行操作:
首先:在您的服务的第一个有趣方法中(我在create上使用过):
/* (non-Javadoc)
* @see android.app.Service#onCreate()
*/
@Override
public void onCreate() {
super.onCreate();
//whatever else you have to to here...
android.os.Debug.waitForDebugger(); // this line is key
}
第二:在waitForDebugger命令后的任意位置设置断点。
第三:通过IDE中的调试按钮启动应用程序(Eclipse / Android Studio / …)。(您现在可能应该已经从清单中删除了主要的启动活动)
最后:启动adb并运行命令以启动服务:
cd $PLATFORM_TOOLS
adb shell
am startservice -n com.google.android.apps.gtalkservice/com.google.android.gtalkservice.service.GTalkService
更新时间:2019-05-30 19:09:16 步骤3:调试服务 正式发布服务之前,使用虚拟设备对服务进行调试。 前提条件 已完成服务流配置、部署和启动。具体流程,请参见步骤2:编辑服务流。 背景信息 以下调试流程适用于设备触发的服务。 HTTP接口的服务调试,只需单击调试即可。日志中将显示调试结果。 定时触发的服务调试,单击调试,输入时间。服务运行后,日志中将显示调试结果。 操作步骤 在服务开
11.4. 调试 HTTP web 服务 首先, 让我们开启 Python HTTP 库的调试特性并查看网络线路上的传输过程。 这对本章的全部内容都很有用, 因为你将添加越来越多的特性。 例 11.3. 调试 HTTP >>> import httplib >>> httplib.HTTPConnection.debuglevel = 1 >>> import urll
调试模式 开启调试模式,修改config/app.php 'debug' => true, 打开后runtime/service/{service}.log会记录收到的数据包
下面是一个helper函数的代码 基本上,此方法只需使用HttpRequest和HttpResponse调用endpointURL,endpointURL是web服务,在参数中指定的超时之后,它将只返回200。 现在的问题是,我需要编写一个测试用例来涵盖这个方法,但我不知道如何编写它。。我不知道如何正确模拟httpcallout,因为此方法不返回HttpResponse,而且由于代码现在已冻结,我
E.1.1. 为调试编译MySQL E.1.2. 创建追踪文件 E.1.3. 在gdb环境下调试 E.1.4. 使用堆栈跟踪 E.1.5. 使用日志文件找出mysqld错误原因 E.1.6. 如果发生表崩溃则做一个测试案例 如果你使用MySQL某些非常新的功能,你可以带--skip-new参数(这个选项禁止掉所有新的潜在不安全的功能)或带 --safe-mode参数(它禁止掉很多可能导致问题的优化
问题内容: 我一直在为Android开发一个包含后台服务的PhoneGap应用程序。我的问题是:如何调试此服务?是否可以使用AVD进行调试并逐步进行?还是可以使用自己的设备来实现? 谢谢! 问题答案: 是的,可以使用AVD或设备来完成。查看http://www.helloandroid.com/tutorials/how-debug- service 和调试服务。