定位和修复bug的过程被称作什么

debugging。定位和修复bug是程序中的一种方式,被修复的过程被称作debugging。debugging技术包括交互式调试,控制流分析,单元测试,集成测试,日志文件分析,应用级或系统级监控,内存转储,以及性能分析。

usb调试,在settings中,有一个控制是否允许远程调试的选项usb debugging,当这个开关为off的时候,无法使用adb,也不能把手机当作ms-storage来使用。 java中能访问的设定保存在/data/data/com.android.providers.settings/databases/settings.db里面。

字段名字叫做 adb_enabled。用户操作settings来修改设定时,实际上就是改变这个字段。

android进程system server中起了一个线程在一直监视db的这个字段。

根据这个字段的值来修改system propertity,其实也就是修改linux的环境变量

persist.service.adb.enable

代码如下

class ServerThread extends Thread {

private static final String TAG = "SystemServer";

private final static boolean INCLUDE_DEMO = false;

private static final int LOG_BOOT_PROGRESS_SYSTEM_RUN = 3010;

private ContentResolver mContentResolver;

private class AdbSettingsObserver extends ContentObserver {

public AdbSettingsObserver() {

super(null);

}

@Override

public void onChange(boolean selfChange) {

boolean enableAdb = (Settings.Secure.getInt(mContentResolver,

Settings.Secure.ADB_ENABLED, 0) > 0);

// setting this secure property will start or stop adbd

SystemProperties.set("persist.service.adb.enable", enableAdb ? "1" : "0");

}

}

复制代码

在linux的启动配置文件init.rc中有这样的配置。

# adbd is controlled by the persist.service.adb.enable system property

service adbd /sbin/adbd

disabled

# adbd on at boot in emulator

on property:ro.kernel.qemu=1

start adbd

on property:persist.service.adb.enable=1

start adbd

on property:persist.service.adb.enable=0

stop adbd

复制代码

从这里我们可以看出来其实设定adb_enabled与否其实就是在控制是否启动adbd这个daemon。

本文来自作者[小筠]投稿,不代表泰博号立场,如若转载,请注明出处:https://www.staplesadv.cn/ds/14499.html

(19)
小筠的头像小筠签约作者

文章推荐

发表回复

作者才能评论

评论列表(3条)

  • 小筠的头像
    小筠 2025年08月21日

    我是泰博号的签约作者“小筠”

  • 小筠
    小筠 2025年08月21日

    本文概览:debugging。定位和修复bug是程序中的一种方式,被修复的过程被称作debugging。debugging技术包括交互式调试,控制流分析,单元测试,集成测试,日志文件分析...

  • 小筠
    用户082109 2025年08月21日

    文章不错《定位和修复bug的过程被称作什么》内容很有帮助

联系我们

邮件:泰博号@gmail.com

工作时间:周一至周五,9:30-17:30,节假日休息

关注微信