当前位置:首页 > 开发 > 移动开发 > 正文

DDMS查看Threads情况

发表于: 2012-09-17   作者:矮蛋蛋   来源:转载   浏览次数:
摘要: DDMS查看Threads情况 原文地址: http://www.cnblogs.com/flyme/archive/2011/08/26/2154270.html      有时候程序运行出现死锁或者信号量卡死是很纠结的问题,单看代码很难分析定位问题,这时候可以借助DDMS来查看threads的运行情况,一目了然。   &nbs
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】,该文比较适合容易重现的问题;

DDMS查看Threads情况

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
有时候程序运行出现死锁或者信号量卡死是很纠结的问题,单看代码很难分析定位问题,这时候可以借助D
1. 启用自己的APK后 2. 点击左边更新heap 3. 点击右边的heap中的垃圾回收cause GC,等待数秒出现回
在使用DDMS调试代码时,Threads窗口中各个字段的含义从网上搜了下,如下所示: 该标签页显示了如下
学习android内部存储的时候想查看一下写入到app目录下的文件 结果点击Android Device Monitor按钮之
5 DDMS
在\android-sdk-windows-1.5_r1\tools目录下,有一个ddms.bat命令;在eclipse中,Window->Open P
6 DDMS
在\android-sdk-windows-1.5_r1\tools目录下,有一个ddms.bat命令;在eclipse中,Window->Open P
private Button myButton; private TextView myTextView; public void onCreate(Bundle savedInstan
declare @db_id int declare @object_id int set @db_id = DB_ID(N'heb000') set @object_id = OBJE
select object_type,object_schema,object_name,index_name,count_star,count_read,COUNT_FETCH fro
开始--运行--cmd 进入命令提示符 输入netstat -ano 即可看到所有连接的PID 之后在任务管理器中找到
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号