现在的位置: 首页 > 综合 > 正文

android调试工具 DDMS 使用总结

2012年10月13日 ⁄ 综合 ⁄ 共 1802字 ⁄ 字号 评论关闭

       啰嗦下:发现自己的blog被转载了,不过没有注明出处,有点痛并快乐着的感觉。这里正式申明下:转载请注明出处,感谢。如有商用目的请务必只会本人。      

 

       现在android的APK开发者方便多了,google为大家提供了集成了eclipse,ADT,SDKManager的IDE。大家可以直接到http://developer.android.com/sdk/index.html下载。下载完成之后,根据自己的需要下载适合自己版本的sdk以及其他的东东。

       同样这个集成的IDE,上面有ADB,DDMS这些android开发调试过程中用到的利器。这篇文章里面主要记录我在使用DDMS中的一些记录和总结。同样google也提供了很不错的说明文档,囧,大家可以从这里看到http://developer.android.com/tools/debugging/index.html

       但是使用过程中,自己还是有些东西需要记录下,以免忘记。

       1.debug process,断点调试程序: 个人总结断点调试程序有2种情况。1.eclipse中的project代码编译正确,应用运行在android系统上,这个时候调试就像普通的java或者vc6.0断点调试一样。2.导入的代码因为接口等原因一堆报错比如android的phone模块,或者这个project就不能再eclipse上编译比如framework中的某个模块。这个时候的调试步骤就需要注意一点:a.找到对应的进程 b.鼠标选中该进程,注意此时DDMS会在这个进程的threadID后面增加一个8700。c.在对应的project下面,点击鼠标右键选择debug
configuration,讲8700填在port这一栏中。最后执行程序,就会在你打断点的地方停住,当然正在执行的进程和本地代码最好同步。这一步中找到正确的进程挺重要的,这里在说明下,framework下面一般在system process这一进程。

        2.update heap,这个是用来更新进程中堆占用的内存,也就是进程的数据对象占用的内存大小,一般结合第4个GC一起使用。

        3.Dump HPROF FILE,这个是统计进程的占用的内存信息的。选中一个进程,点击这个按钮会生成一个文件,可以查看当前进程使用的内存分配情况。一般结合Eclipse的内存分析工具EMT插件就可以大致分析出该进程的哪块代码在占用很高的内存。因此这个在应用程序所占内存分析中经常用到

        4.Cause GC 在3进程的堆内存回收。

        5.Update Threads 可以查看当前进程中各个线程的信息,显示在旁边的threads框里。

        6.Start Methor Profiling 这个可以从http://developer.android.com/tools/debugging/debugging-tracing.html看到其用处,虽然google的说明里面把它排到第二个,但是由于使用方便,倒是最经常使用这个。选择一个进程,进行一系列操作之后,这个功能会生成一张时序图,里面给出了这一系列操作中各个方法以及其调用到的方法,并且给出了每个方法的时间。google还提供了一个搜索框,直接输入方法名的小写就可以查到该方法,该方法的父方法和子方法。这个在性能优化和分析代码流程时候使用起来很方便。

        7.Stop Process,这个从字面意思就可以看出,终止进程用的。

        8.Screen Capture 系统屏幕截图。

        9.Dump View Hierarchy  for UI Automator 这个感觉和老版本的层级视图器一样,而且感觉功能更加的强大。不过个人习惯了层级视图器。

        10.Capture System Wide Trace 这个可以从http://developer.android.com/tools/debugging/systrace.html看到其使用说明,用来分析APK的性能的。

        11.最后重启ADB,目前android系统如果有多个DDMS端存在的话,只会有一个能显示完整的进程信息,关掉的了别的DDMS端之后,有时候要reset一下才能完整的获取手机进程信息。

   

抱歉!评论已关闭.