当前位置: 首页 > news >正文

查看死锁原因 /data/anr/traces.txt

Android ANR这个错误大家并不陌生,但是从Android 2.2开始出错的ANR信息会自动上传给Google进行系统分析改进,当然了你的应用ANR错误其实保存在一个文件中,在/data/anr/traces.txt文件中,如果你的Android设备没有Root越狱过,可以将你的软件装在模拟器上分析,模拟器可以直接使用Eclipse中的DDMS里的File Explorer来打开,如下图:


   虽然traces.txt是一个文本文件,不过使用windows上的记事本打开可能无法正常处理linux的换行符,这里Android123建议你使用ultra edit查看,当然了使用Windows自带的写字板也是不错的。下面一起来分析下错误吧,第一行为出错的时间,第二行都会写上发生ANR的package Name,下文是com.android.systemui这个包,里面的部分线程出了问题,通过下面的的xxx方法以及对应的java文件,后面的数字为xxx.java文件的第几行,是不是很方便呢?
----- pid 125 at 2011-02-22 05:18:01 -----
Cmd line: com.android.systemui
DALVIK THREADS:
(mutexes: tll=0 tsl=0 tscl=0 ghl=0 hwl=0 hwll=0)
"main" prio=5 tid=1 NATIVE
  | group="main" sCount=1 dsCount=0 obj=0x4001f1a8 self=0xce48
  | sysTid=125 nice=0 sched=0/0 cgrp=default handle=-1345006528
  | schedstat=( 981213067 8042604425 151 )
  at android.os.BinderProxy.transact(Native Method)
  at android.os.storage.IMountService$Stub$Proxy.isUsbMassStorageConnected(IMountService.java:95)
  at android.os.storage.StorageManager.isUsbMassStorageConnected(StorageManager.java:385)
  at com.android.systemui.usb.StorageNotification.<init>(StorageNotification.java:71)
  at com.android.systemui.statusbar.policy.StatusBarPolicy.<init>(StatusBarPolicy.java:412)
  at com.android.systemui.statusbar.StatusBarService.onCreate(StatusBarService.java:239)
  at android.app.ActivityThread.handleCreateService(ActivityThread.java:1920)
  at android.app.ActivityThread.access$2500(ActivityThread.java:117)
  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:982)
  at android.os.Handler.dispatchMessage(Handler.java:99)
  at android.os.Looper.loop(Looper.java:123)
  at android.app.ActivityThread.main(ActivityThread.java:3647)
  at java.lang.reflect.Method.invokeNative(Native Method)
  at java.lang.reflect.Method.invoke(Method.java:507)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
  at dalvik.system.NativeStart.main(Native Method)
"Binder Thread #2" prio=5 tid=8 NATIVE
  | group="main" sCount=1 dsCount=0 obj=0x40511270 self=0x1c1100
  | sysTid=153 nice=0 sched=0/0 cgrp=default handle=1141608
  | schedstat=( 27181321 64708345 5 )
  at dalvik.system.NativeStart.run(Native Method)
"Binder Thread #1" prio=5 tid=7 NATIVE
  | group="main" sCount=1 dsCount=0 obj=0x405111a8 self=0x1349c8
  | sysTid=152 nice=0 sched=0/0 cgrp=default handle=1264008
  | schedstat=( 31857510 74284459 5 )
  at dalvik.system.NativeStart.run(Native Method)
"Compiler" daemon prio=5 tid=6 VMWAIT
  | group="system" sCount=1 dsCount=0 obj=0x4050dd10 self=0x116538
  | sysTid=144 nice=0 sched=0/0 cgrp=default handle=982520
  | schedstat=( 7319346 103454345 12 )
  at dalvik.system.NativeStart.run(Native Method)
"JDWP" daemon prio=5 tid=5 VMWAIT
  | group="system" sCount=1 dsCount=0 obj=0x4050dc60 self=0x116400
  | sysTid=142 nice=0 sched=0/0 cgrp=default handle=986536
  | schedstat=( 32876840 393298925 20 )
  at dalvik.system.NativeStart.run(Native Method)
"Signal Catcher" daemon prio=5 tid=4 RUNNABLE
  | group="system" sCount=0 dsCount=0 obj=0x4050dba0 self=0x253ab0
  | sysTid=141 nice=0 sched=0/0 cgrp=default handle=2439792
  | schedstat=( 94447996 796994478 19 )
  at dalvik.system.NativeStart.run(Native Method)
"GC" daemon prio=5 tid=3 VMWAIT
  | group="system" sCount=1 dsCount=0 obj=0x4050daf8 self=0x8fd40
  | sysTid=128 nice=0 sched=0/0 cgrp=default handle=2439592
  | schedstat=( 103352102 819201761 21 )
  at dalvik.system.NativeStart.run(Native Method)
"HeapWorker" daemon prio=5 tid=2 VMWAIT
  | group="system" sCount=1 dsCount=0 obj=0x4050da40 self=0xf0c70
  | sysTid=127 nice=0 sched=0/0 cgrp=default handle=2439528
  | schedstat=( 971134410 6445300652 103 )
  at dalvik.system.NativeStart.run(Native Method)

相关文章:

  • 如何删除 SQL Server 表中的重复行
  • Android 不通过USB数据线调试的方法
  • Android网络开发之OkHttp--基本用法GET
  • 查看Android应用包名package和入口activity名称
  • ueditor 最新版本【1.4.3.1】单独文件/图片上传处理方法
  • 【原创】sizeof运算符总结
  • Android客户端性能测试常见指标及测试方法--转载
  • composer 报错笔记
  • ubuntu集群下ssh配置总结
  • 使用css3属性,大部分浏览器要识别前缀
  • 暴搜 - Codeforces Round #327 (Div. 2) E. Three States
  • iOS中正确的截屏姿势
  • Android Volley框架的使用(三)
  • IP工具类-自己动手做个ip解析器
  • CSS3 变换
  • 实现windows 窗体的自己画,网上摘抄的,学习了
  • 《剑指offer》分解让复杂问题更简单
  • 0x05 Python数据分析,Anaconda八斩刀
  • 4. 路由到控制器 - Laravel从零开始教程
  • canvas 高仿 Apple Watch 表盘
  • CoolViewPager:即刻刷新,自定义边缘效果颜色,双向自动循环,内置垂直切换效果,想要的都在这里...
  • CSS3 变换
  • ES学习笔记(10)--ES6中的函数和数组补漏
  • ES学习笔记(12)--Symbol
  • github从入门到放弃(1)
  • iOS编译提示和导航提示
  • JS学习笔记——闭包
  • Netty 4.1 源代码学习:线程模型
  • Python 基础起步 (十) 什么叫函数?
  • SpriteKit 技巧之添加背景图片
  • 从 Android Sample ApiDemos 中学习 android.animation API 的用法
  • 从0搭建SpringBoot的HelloWorld -- Java版本
  • 番外篇1:在Windows环境下安装JDK
  • 分享一份非常强势的Android面试题
  • 关于Android中设置闹钟的相对比较完善的解决方案
  • 基于axios的vue插件,让http请求更简单
  • 计算机在识别图像时“看到”了什么?
  • 两列自适应布局方案整理
  • 实现简单的正则表达式引擎
  • 使用putty远程连接linux
  • 小程序开发之路(一)
  • 自动记录MySQL慢查询快照脚本
  • 2017年360最后一道编程题
  • Semaphore
  • 函数计算新功能-----支持C#函数
  • ​​​​​​​GitLab 之 GitLab-Runner 安装,配置与问题汇总
  • ​Python 3 新特性:类型注解
  • ​如何防止网络攻击?
  • #13 yum、编译安装与sed命令的使用
  • #Js篇:单线程模式同步任务异步任务任务队列事件循环setTimeout() setInterval()
  • #常见电池型号介绍 常见电池尺寸是多少【详解】
  • $.ajax()方法详解
  • (Java岗)秋招打卡!一本学历拿下美团、阿里、快手、米哈游offer
  • (windows2012共享文件夹和防火墙设置
  • (附源码)springboot学生选课系统 毕业设计 612555