应用程序Framework源码级别调试

来源:互联网 发布:数据库分布式 编辑:程序博客网 时间:2024/05/17 18:23

应用程序Framework源码级别调试

参考《Android框架揭秘》

Table of Contents

  • 1 应用程序Framework源码级别调试
    • 1.1 加载应用程序Framework源
    • 1.2 调试HelloWorld Framework(源码级)

1 应用程序Framework源码级别调试

1.1 加载应用程序Framework源

在Android源码中包含了Eclipse的设置文件,利用它可以把Framework的所有源码路径保存下来。

(1) 首先搭建好Android编译环境,下载Android平台源代码,在使用make命令,编译Android系统。

(2) 再把Android提供的.classpath文件复制到Android平台源码所在的最上层目录中

$cd  mydroid$cp development/ide/eclipse/.classpath ~/mydroid$chmod u+w .classpath

(3) 启动emacs,File->New->Java Project,在New Java Project窗口中输入工程名,指定Location为Android源码所在的目录,也就是.classpath所在的位置,然后单击Finish按钮。

(4) 查看Package Explorer窗口,可以看到Android Framework源码已经被导入进来了。

(5) 接下来设置调试器,以便调试Android平台源码。先要建立一个HelloWorld工程。在HelloWorld工程上单击鼠标右键,Debug As->Debug Configuration,打开Debug Cofnigurations窗口。

(6) 在Debug Configurations窗口左侧列表中,选择Remote Java Application,单击鼠标右键,选择New,设置Name,Project,Host,Port,单击Apply应用。

1.2 调试HelloWorld Framework(源码级)

上面工作完成后,开始调试HelloWorld程序,跟随与应用程序相关的Framework源代码,查看变量的值。

(1) 首先在HelloWorld程序里面设置一个断点,比如setContentView(R.layout.main);这里设置一个断点。然后在HelloWorld工程上右键Debug As->Android Application打开调试窗口,程序运行到断点的位置停止,并把控制权交给Eclipse的java调试器。

(2) 在Debug窗口中点击ActivityThread类,会提示源码没有找到,此时,在ActivityThread.perform LaunchActivity上单击鼠标右键,在弹出的菜单中选择Edit Source Lookup菜单,弹出Edit Source Lookup Path窗口。

(3) 在Edit Source Lookup Path窗口中单击Add按钮

(4) 选择Java Project,然后选择前面创建的的Android-Framework工程。

(5) 若能看到ActivityThread类的源码,表示源码添加成功,在右侧的Variables窗口中,可以看到应用程序Framework中的所有变量值。

至此,调试环境搭建完成。

Author: Wizard.Yang<xblandy@gmail.com>

Date: 2012-07-27 16:49:11 CST

原创粉丝点击