Android平台实现开机调试system_process

本文详细介绍了如何在Android平台上实现对system_process的开机调试。system_process实际上是system_server进程,由zygote孵化,其启动涉及app_process。调试方法包括一般调试和开机调试。一般调试可在Android启动后通过Eclipse创建对应项目进行;开机调试则需要修改源代码,通过android.os.Debug.waitForDebugger()等待调试器,并利用DDM设置AppName以确保Eclipse能识别并调试。该方法虽需修改源码,但为调试system_process初始化过程提供了可能。
摘要由CSDN通过智能技术生成
1 首先要理清一下什么是system_process
1.1 system_process是我们在DDMS可以看到的名称。设置的地方在ActivityThread.java:

    private void attach(boolean system) {
        sThreadLocal.set(this);
        mSystemThread = system;
        if (!system) {
             ...
        } else {
            // Don't set application object here -- if the system crashes,
            // we can't display an alert, we just want to die die die.
            android.ddm.DdmHandleAppName.setAppName("system_process",
                                                    UserHandle.myUserId());
              ...
          }
          ...
    }

1.2 system_process不是进程的名称,它是DDM用于区别不同的Java App的标识,对于一般Android程序来说会被设置成包名


1.3 system_process的进程名称是system_server,就是我们通过ps可以看到的


1.4 system_server进程是zygote进程孵化的第一个Java进程


1.5 z

  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值