<!-- @page { margin: 0.79in } P { margin-bottom: 0.08in } -->
<!-- @page { margin: 0.79in } P { margin-bottom: 0.08in } -->
查看sdk下自带的docs---->Dev Guide---->Developing--->debugging---->using DDMS:
官方文档说每一个application都运行在自己的process中,并且都运行在自己的vm中,而每个vm都拥有自己唯一的端口(port),而我们debug就是根据vm的port来对应的,先确定你的eclipse中是否有ddms插件,有的话直接方法一就可以了:
方法一:
1.调出ddms界面,查看你所要debug的程序的端口号
上图就是ddms界面可以看到选中的alarmclock程序后面就有个port (8606)。
2.在eclipse里, Run->Debug Configuration->Remote Java Application->New, 设置 Connection properties 中的port为你要debug的程序port
3.在源码中相应的模块中打上断点,就可以debug了启动模拟器上相应程序跳入debug界面
方法二:此方法是指eclipse没有装ddms插件 需要链接到外部ddms的方法
1.首先确定eclipse,emulator等环境正确,eclipse,emulator等若不能正常启动,请查看以前的Android_env_setup.txt将环境配置好。
建议直接进入root用户 sudo -s来操作,这样可以避免一些权限问题
还有一些环境变量建议都设在/home/archermind/下的.bashrc下
因为liunx的初始化文件执行顺序是:先root下的.bashrc--->用户目录下的.bashrc
所以设在root的.bashrc会被用户下的覆盖
2.配置ddms工具
-
在/home/archermnind/目录下gedit .bashrc写入
-
export ANDROID_SWT=/work/froyo/out/host/linux-x86/framework
执行. .bashrc (注.bashrc前还有一点)
注:work/froyo是我的工程目录
2.2运行 emulator& #以前$PATH路径对的话就可直接启动
2.3运行 ddms& #如果$ANDROID_SWT正确的话就能执行
图2-4
2.4启动 eclipse ,按照这个步骤 File->New->Java Project (不是 Android Project!) ->use default location选到 froyo目录 .
2.5需要等待一段时间即可将整个源码载入,还有ddms一定要在eclipse之前启动
2.7并且在ddms中file-->static port configuration 中设置debug的程序(如图2-5),此处我设的是com.android.alarmclock程序就是闹钟程序,端口我设的是8890。其中port端口要和你eclipse中配置debug的端口号要一致:
图2-5
2.6在eclipse里, Run->Debug Configuration->Remote Java Application->New, 设置 Connection port to 8890 (你要调试的程序的端口(前面设的那个)).
图2-6
-
debug : 设置断点在源码中 点击debug界面跳入debug界面,在模拟器中打开闹钟程序进行debug,现在就可以跟踪debug了 若不行重启emulator&再debug
-
debug时ddms界面的效果
-
图2-7
可以在图2-7中看到端口号8890前面打着个小绿虫子的就是我们debug的程序