zoukankan      html  css  js  c++  java
  • 【转】如何调试跟踪Android源代码

    http://blog.chinaunix.net/u2/85805/showart_1882740.html

    Android
    平台代码很多,关系也很复杂,通常我们调试程序的时候是无法跟踪到Android framework code里的,如果能调试跟踪Android source code将给我们这些初学者带来很多便利,本文将给出一个调试跟踪Android source code 的方法。

    1.    首先,得到Android 源代码(可参考之前的文章--如何获取Android源代码并编译.doc),并且编译,得到output file,在(Android source)/out目录下,也可通过别的途径获取Android source code (androidsrc.tgz为例) 和别人编译好的 output file(out.tgz)

    2.    解压缩这两个 tgz 文件,并把解压出来的out 目录放到 myandroid 目录下,如下图所示。

     

    3.    拷贝 myandroid"development"ide"eclipse".classpath myandroid".classpath.

     

    4.    拷贝 myandroid"out"target"product"generic"*.img {Android SDK}"tools"lib"images 并且覆盖源文件.

    5.    运行{Android SDK}"tools目录下的 emulator.exe.

    6.    运行{Android SDK}"tools目录下的 ddms.bat。你可以看到下面的窗口,里面会列出当前emulator里跑的进程:

     

    7.    启动 eclipse ,按照这个步骤 File->New->Java Project (不是 Android Project!) ->Create project from existing source 选到 myandroid 目录 .

     

    8.    在经过长时间等待之后,Android source code将被导入project,正常情况下应该没有error,但是会有很多warning,如果有error后面的debug将不会成功,原因可能是output file out.tgz在解压得过程中出错,重新copy out.tgz,或者完整拷贝 out/ 目录到本地目录下,即可解决。

    9.    选择想要调试的进程在 DDMS, phone 进程为例,ddms一定要在eclipse之前启动,否则eclipse启动的时候也会启一个ddms,会造成冲突。

     

    10. eclipse, Run->Debug Configuration->Remote Java Application->New, 设置 Connection port to 8700 (DDMS’s 默认端口,你可以改变它).

     

    11. 设置断点在source code,然后就可以像往常一样进行调试了。

  • 相关阅读:
    三国演义中的十大谎言 VS 程序员十大口头禅
    Node.js 的单线程事件驱动模型和内置的线程池模型
    为了让医院把医护还给患者,他们用了这个…
    华为云数据库内核专家为您揭秘:GaussDB(for MySQL)并行查询有多快?
    brew
    Python
    Python
    Python
    AtCoder Beginner Contest 215 (个人题解 A~F)
    AcWing 第 13 场周赛  补题记录
  • 原文地址:https://www.cnblogs.com/jacktu/p/1557742.html
Copyright © 2011-2022 走看看