- 浏览: 84073 次
- 性别:
- 来自: 北京
文章分类
最新评论
DDMS查看Threads情况
原文地址:http://www.cnblogs.com/flyme/archive/2011/08/26/2154270.html
有时候程序运行出现死锁或者信号量卡死是很纠结的问题,单看代码很难分析定位问题,这时候可以借助DDMS来查看threads的运行情况,一目了然。
手机连接上USB,确保adb连通,然后启动Eclipse里的DDMS,这时候应该手机就正常连接上了
就如上图中显示的,只要连接上了就可以查看某个进程里的所有线程的活动了; 下面具体解释下Threads标签页里给出的每个字段的意思:
ID: 虚拟机分配的唯一的线程ID,在Dalvik里,它们是从3开始的奇数。
Tid:linux的线程ID号
Stauts:线程状态,比较多,有下面的一些
running: 正在执行程序代码
sleeping:执行了Thread.sleep()
monitor:等待接受一个监听锁。
wait::Object.wait(),等待被其他线程唤醒
native:正在执行native代码,
vmwait:等待虚拟机,(这个不是很懂,高手指教,这个状态在什么情况下发生)
zombie:线程在垂死的进程
init:线程在初始化(我们不可能看到)
starting:线程正在启动(我们不可能看到)
utime:执行用户代码的累计时间
stime:执行系统代码的累计时间
name:线程的名字
另外,右侧每个Thread选中之后可以在下面看到Refresh按钮,这个点了之后,可以看到线程的函数执行,结合Status可以知道目前情况;而出现问题时某个线程一般会变为monitor状态,这时候就要特别留意他,并refresh下,检查他的执行情况 ,再回头结合代码,一般都能找到问题出在什么地方;
【PS】,该文比较适合容易重现的问题;
原文地址:http://www.cnblogs.com/flyme/archive/2011/08/26/2154270.html
有时候程序运行出现死锁或者信号量卡死是很纠结的问题,单看代码很难分析定位问题,这时候可以借助DDMS来查看threads的运行情况,一目了然。
手机连接上USB,确保adb连通,然后启动Eclipse里的DDMS,这时候应该手机就正常连接上了
就如上图中显示的,只要连接上了就可以查看某个进程里的所有线程的活动了; 下面具体解释下Threads标签页里给出的每个字段的意思:
ID: 虚拟机分配的唯一的线程ID,在Dalvik里,它们是从3开始的奇数。
Tid:linux的线程ID号
Stauts:线程状态,比较多,有下面的一些
running: 正在执行程序代码
sleeping:执行了Thread.sleep()
monitor:等待接受一个监听锁。
wait::Object.wait(),等待被其他线程唤醒
native:正在执行native代码,
vmwait:等待虚拟机,(这个不是很懂,高手指教,这个状态在什么情况下发生)
zombie:线程在垂死的进程
init:线程在初始化(我们不可能看到)
starting:线程正在启动(我们不可能看到)
utime:执行用户代码的累计时间
stime:执行系统代码的累计时间
name:线程的名字
另外,右侧每个Thread选中之后可以在下面看到Refresh按钮,这个点了之后,可以看到线程的函数执行,结合Status可以知道目前情况;而出现问题时某个线程一般会变为monitor状态,这时候就要特别留意他,并refresh下,检查他的执行情况 ,再回头结合代码,一般都能找到问题出在什么地方;
【PS】,该文比较适合容易重现的问题;
发表评论
-
Android SDK下载速度慢无法更新?使用国内镜像站加速
2016-01-29 18:18 722https://blog.kuoruan.com/24.htm ... -
探秘腾讯Android手机游戏平台之不安装游戏APK直接启动法
2014-08-01 12:02 396原文地址:http://blog.zhourunsheng.c ... -
关于ViewPager和Fragment
2014-07-07 14:18 1008原文地址:http://www.cnblogs.com/iho ... -
Android移动操作系统的脆弱性分类研究
2014-03-18 14:46 617下载地址:http://www.paper.edu.cn/re ... -
Android实战技巧:深入解析AsyncTask
2014-03-06 11:21 343原文地址:http://blog.csdn ... -
Ubuntu android真机调试
2014-03-06 11:01 445关闭adb服务,切换到root,重启adb服务,离开root ... -
64位Ubuntu配置android环境报错(...adb": error=2, 没有那个文件或目录)
2014-02-07 13:29 580原文地址:http://blog.csdn.net/jayho ... -
【Android 声音处理】MediaPlayer和SoundPool
2014-01-14 17:08 1890原文地址:http://blog.sina ... -
Android自定义组件之一:View详解
2013-07-15 16:08 758原文地址:http://www.eoeandroid.com/ ... -
Android中error inflating class fragment
2013-06-19 17:21 1086原文地址:http://blog.csdn.net/qp120 ... -
拿来主义Android优秀开源项目
2013-06-05 11:57 891http://dengzhangtao.iteye.com/b ... -
android sqlite db-journal文件产生原因及说明
2013-06-05 11:37 3556原文地址:http://blog.csdn.net/chthq ... -
Android系统自带Camera方向判别
2013-05-22 16:40 663使用了OrientationEventListener, 也就 ... -
android onTouchEvent和setOnTouchListener中onTouch的区别
2013-03-27 10:35 728原文地址:http://blog.csdn ... -
Android源码编译整理总结
2013-01-08 11:37 678原文地址:http://www.cnblogs.com/hoj ... -
安卓图表引擎AChartEngine(一) - 简介
2012-12-20 17:47 967原文地址:http://blog.csdn.net/lk_bl ... -
微技巧:Android手机隐藏指令大全
2012-12-07 11:36 763原文地址:http://news.xinhuanet.com/ ... -
自定义控件(attrs定义属性的使用)
2012-12-04 11:38 1146这里为了演示使用自定义变量,字体大小改用自定义的属性。 首先 ... -
二进制在数学中的妙用
2012-11-14 15:50 800原文地址:http://blog.csdn.net/hackb ... -
国外程序员推荐:每个程序员都应读的书
2012-11-06 10:58 797原文地址:http://blog.jobbole.com/58 ...
相关推荐
1. **设备管理**:DDMS可以连接到运行Android系统的模拟器或物理设备,允许开发者查看设备状态,包括内存使用情况、电池状态、网络流量等。 2. **进程和线程监控**:开发者可以通过DDMS查看应用程序的进程和线程,...
在实际使用中,开发者可以通过"ddms单文件提取版"快速查看和分析应用的运行状态,比如通过日志cat来追踪错误信息,通过堆内存分析来优化内存使用,或者通过线程查看来解决线程同步问题。这款工具对于安卓开发者,...
- 在DDMS的主界面上方可以看到名为"Devices"的面板,这里可以查看所有与DDMS连接的终端的详细信息,包括终端ID、操作系统版本等。 - 每个终端正在运行的应用进程也会在此面板中列出,每个进程旁边标有与调试器相连的...
DDMS(Dalvik Debug Monitor Service)是Android开发者用于调试应用程序的重要工具,它提供了查看设备上的进程、线程、内存使用情况、堆栈跟踪以及接收广播等实用功能。然而,有时在使用过程中,开发者可能会遇到...
DDMS提供了内存监控功能,包括查看堆内存分配、垃圾回收情况和内存泄漏检测。开发者可以使用它来分析内存使用情况,定位内存溢出问题。 4. **日志输出**: DDMS的日志查看器能够收集和显示系统日志(LogCat),这...
- **查看线程列表**:通过DDMS可以查看应用程序的所有线程及其状态。 - **分析性能问题**:通过对线程的监控,可以发现潜在的性能瓶颈或死锁问题。 - **调整线程优先级**:某些情况下可能还需要调整线程的优先级以...
它能够帮助开发者进行一系列的操作,如查看正在运行的应用程序状态、监视CPU和内存使用情况、截取屏幕截图等。对于Android开发者而言,熟练掌握DDMS的使用方法是非常重要的。 #### 二、DDMS的主要功能 1. **进程...
DDMS是Android开发者用来调试应用、查看设备状态和模拟用户行为的一个重要工具,它允许开发者在模拟器或连接的设备上管理文件、查看内存使用情况、跟踪线程以及接收日志输出。 在描述中,虽然信息非常有限,但我们...
EcliPse安装配置环境 DDMS使用 EcliPse是一款功能强大且广泛应用的集成开发环境(IDE),它提供了完善的开发工具和插件,支持多种编程语言。今天,我们将详细介绍如何安装和配置EcliPse环境,特别是使用DDMS...
总结,"ddms_traceView.zip"中的"ddms5091614144790295234.trace"文件是针对Android应用CPU性能分析的重要工具,通过DDMS和TraceView的使用,开发者能够深入理解应用的运行情况,及时发现和解决性能问题,提升应用的...
讲解如何在eclipse中启动DDMS,能够找到数据库文件等相关信息文件
可以直接对手机截屏,速度很快,需要打开DDMS调试。 已包含需要的jar包。 对应的博客地址: http://blog.csdn.net/singleton1900/article/details/15808665
1. **日志查看**:DDMS可以显示来自设备或模拟器的logcat输出,这是开发者追踪应用程序运行时错误和调试信息的重要工具。通过过滤器,开发者可以选择关注特定的日志级别(如错误、警告或信息)或特定的应用程序标签...
这意味着在没有这个特定驱动的情况下,开发者可能无法在他们的电脑上通过Eclipse看到或与他们的Samsung Galaxy Note3手机进行交互。 【标签】"Note3 USB驱动"和"Note3 DDMS"进一步明确了这个驱动程序的作用,它是...
- **堆内存视图**:用于监测应用的内存使用情况,包括Dalvik堆信息,可以看到内存分配、回收的情况,帮助开发者定位内存泄漏问题。 - **线程视图**:展示应用中的所有线程,包括每个线程的状态,如运行、等待、...
它可能在这里被提及,是因为在某些情况下,开发者可能需要结合JDK和IDA来分析或调试Java应用程序的底层机器码,尤其是在处理性能问题或安全漏洞时。 "DDMS"标签再次强调了这个JDK版本对Android开发者的重要性,因为...
在Android应用开发中,理解和掌握DDMS(Dalvik Debug Monitor Service)视图以及Button的使用是至关重要的。本文将深入探讨这两个核心概念,帮助初学者从零开始搭建Android开发的知识框架。 首先,让我们来了解DDMS...
apn-ddms-filemange
例如,它可以监控设备的内存使用情况,查看和管理设备上的文件系统,甚至模拟用户的行为,如发送按键事件或模拟位置改变。这些功能对于开发者来说都是非常实用的。 学习`DDMS`中的`logcat`使用,不仅可以提高调试...