在Android开发中,当程序发生异常时会抛出异常信息,可以通过如下代码来获取异常信息,然而在ANR时我们在Logcat中并看不到异常信息。

Thread.setDefaultUncaughtExceptionHandler(new Thread. UncaughtExceptionHandler() {public void uncaughtException(Thread t, Throwable e) {   System.out.println(t + " throws exception: " + e);} });

那么我们在遇到一个ANR异常时,该怎样去排查是哪里的错误呢。通过查看Logcat的打印日志,会发现在每次出现ANR时都能看到这两句:
I/art: Thread[2,tid=25238,WaitingInMainSignalCatcherLoop,Thread*=0xafa0e400,peer=0x12c2a080,"Signal Catcher"]: reacting to signal 3I/art: Wrote stack traces to '/data/anr/traces.txt'

在发生ANR时,系统会将异常信息写入到traces文件中, 系统会记录异常的位置、CPU和内存当时的使用情况 ,通过查看日志基本就能判断问题所在。 接下来打开该文件,通过shell命令就可以了。 如使用cat的打开文件: 1, adb shell --> cat /data/anr/traces.txt
2,adb shell "cat /data/anr/traces.txt" | less


更多相关文章

  1. 一款常用的 Squid 日志分析工具
  2. GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
  3. RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
  4. Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
  5. LogCat中不输出任何的信息
  6. Android与JS之间的互相调用交互(二)
  7. Android(安卓)SDK Manager下载,解决方案
  8. 转自于博客园---浅析LocationManager的位置定位
  9. Android(安卓)拍照 以及从本地选择图片 上传

随机推荐

  1. linearLayout 和 relativeLayout的属性区
  2. android的消息处理机制(图+源码分析)——Lo
  3. Android的UI结构试图工具hierarchyviewer
  4. 详解android:scaleType属性
  5. Android(安卓)Activity动画属性简介
  6. Android(安卓)API中文文档(111) —— Mai
  7. android:layout_marginLeft等的简单用法
  8. Android(安卓)API中文文档系列Manifest
  9. android中adb命令大全
  10. 【android乱七八糟】android体系结构