介绍一下基本情况,我是通过调试普通应用程序然后通过单步调试跟踪进入android源码。我希望通过此种方式能了解android源码的工作机制和流程,从而学习好框架层,因为光看书看的好累好晕。
但是发现调试碰到有如下问题:1.为什么定位到源码里的时候会错行呢?比如单步调试自动定位到Activity 的setContentView 到8000行,但实际setContentView 在4000行左右。现在应用程序使用的jar包为2.2,源码实际也为2.22.添加源码后为什么debug的时候速度这么慢,得好几分钟才行,如何加快。3. 为什么定位到源码中,却不能查看源码中的变量值呢?像如果调试我自己的程序的时候,我鼠标停到当前断点的那个变量,就会自动显示该变量的值,但是源码中的变量却不可以。4.如果android源码修改了(我在阅读源码的时候向其中添加了注释),那么如何使得在调试的时候也能和修改过的源码同步呢? 否则可能会发生错行吧
谢谢!

解决方案 »

  1.   

    1.一般debug的时候,应该不会出现定位不准的问题,暂时我还没有碰到。
    2.debug的时候,尤其是在模拟器中debug,速度是慢些,断点跟踪机制就是慢
    3.源码的变量值是可以显示的
    4.修改了源码,比如添加了注释,需要再次重新调试就可以定位到你要的源码行了
      

  2.   

    1.源码调试一般直拉在DDMS里面的进程列表中打小虫子
    2.定位源码出错一般是调试的系统和你现在手上的代码不一致
      

  3.   


    guoyoulei520 ,你好应用程序使用的android版本是2.2 ,然后链接的源码也是2.2的。