查看死锁原因 /data/anr/traces.txt
来源:互联网 发布:网络编辑和文员哪个好 编辑:程序博客网 时间:2024/05/01 00:47
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)
虽然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)
- 查看死锁原因 /data/anr/traces.txt
- ANR问题: /data/anr/traces.txt
- /data/anr/traces.txt下获取ANR日志
- Android进阶-- /data/anr/traces.txt 文件丢失,ANR日志哪里去了 ?
- Unable to open stack trace file '/data/anr/traces.txt/: Permission denied
- 提取anr的traces.txt文件
- [anr] trace.txt ---data/anr/trace.txt
- traces.txt
- 通过ANR来查看死锁
- 通过ANR来查看死锁
- 通过ANR来查看死锁
- 通过ANR来查看死锁
- Android traces.txt只保留最后一次发生ANR时的traces信息,那么以前的traces信息就丢失了么?
- Traces.txt阅读
- traces.txt文件信息
- 如何将traces.txt导出
- android客户端ANR时导出Traces
- ANR异常及traces信息解析
- 黑马程序员展风采 2012人才对接会…
- 最新受欢迎的十个 Eclipse 插件
- IT“茫一代”:35岁成生死线 无处安…
- java程序员等级
- 盛大发布 Bambook 手机:解与未解…
- 查看死锁原因 /data/anr/traces.txt
- 搬家了
- AE(1):倒入素材
- ActiveMQ队列特性:通配符(Wildcards)
- AE(2):项目、合成、图层之间的关系
- 孔乙己vsjava内部类
- AE(3):AE无法导入某些格式的视频文…
- AE(5):AE无法实现颜色转换问题
- 集成模板类