news 2026/8/10 18:42:35

ADB Logcat 排查真机崩溃与日志分析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ADB Logcat 排查真机崩溃与日志分析

一、基础命令

1. 基本使用

# 查看实时日志adb logcat# 清空日志缓冲区adb logcat-c# 保存日志到文件adb logcat>crash.log# 显示时间戳adb logcat-vtime# 显示线程信息(推荐)adb logcat-vthreadtime

2. 多设备情况

# 查看连接的设备adb devices# 指定设备adb-s<设备序列号>logcat

二、日志级别过滤

Android 日志级别(由低到高):

级别缩写说明
VerboseV详细信息
DebugD调试信息
InfoI一般信息
WarnW警告
ErrorE错误
FatalF致命错误
# 只看 Error 及以上级别adb logcat *:E# 只看指定 TAG 的 Debug 级别adb logcat MyApp:D *:S# *:S 表示屏蔽其他所有日志

三、崩溃排查核心方法

1. 抓取崩溃堆栈(关键)

# 过滤崩溃相关关键字adb logcat|grep-i"FATAL\|AndroidRuntime\|Exception"# Windows 下使用 findstradb logcat|findstr"FATAL AndroidRuntime"

2. Java 崩溃(Crash)

崩溃时会打印FATAL EXCEPTION,重点关注:

E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.app, PID: 12345 java.lang.NullPointerException: ... at com.example.app.MainActivity.onCreate(MainActivity.java:45)

排查要点:

  • FATAL EXCEPTION后的异常类型
  • Caused by追踪根本原因
  • at定位到具体的类和行号

3. Native 崩溃(NDK/C++)

# 过滤 native 崩溃adb logcat|grep-i"DEBUG\|backtrace\|signal"

典型输出:

F/libc: Fatal signal 11 (SIGSEGV), code 1 ... F/DEBUG: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR) F/DEBUG: backtrace: #00 pc 0000... /data/app/.../libnative.so

常见 signal 含义:

Signal含义
SIGSEGV (11)内存访问违规(空指针、野指针)
SIGABRT (6)主动 abort(assert 失败)
SIGBUS (7)内存对齐错误
SIGILL (4)非法指令

4. ANR(应用无响应)

# 拉取 ANR 日志文件adb pull /data/anr/traces.txt# 新版本 Androidadb shell"ls /data/anr/"adb pull /data/anr/anr_xxx

四、高级过滤技巧

1. 按 PID 过滤(推荐)

# 先获取进程 PIDadb shell pidof com.example.app# 按 PID 过滤adb logcat--pid=<PID># 一行命令adb logcat--pid=$(adb shell pidof com.example.app)

2. 按 TAG 和级别组合

# 查看 ActivityManager 的 Info 级别,屏蔽其他adb logcat ActivityManager:I *:S

3. 正则过滤(Android 7.0+)

# 使用正则表达式adb logcat-e"Exception|Error"# 反向过滤(排除)adb logcat|grep-v"chatty"

4. 缓冲区选择

# 查看所有缓冲区adb logcat-ball# 系统日志adb logcat-bsystem# 崩溃缓冲区adb logcat-bcrash# 事件日志adb logcat-bevents

五、日志输出格式

# 常用格式说明adb logcat-v<格式>
格式说明
brief默认格式
time显示日期时间
threadtime显示时间+PID+TID(推荐
long显示所有字段
color彩色输出
# 推荐组合adb logcat-vthreadtime-vcolor

六、实战流程

完整崩溃排查步骤

# 1. 清空旧日志adb logcat-c# 2. 开始记录并保存adb logcat-vthreadtime>crash_log.txt# 3. 复现崩溃操作...# 4. Ctrl+C 停止后分析文件

一键抓取崩溃日志脚本

#!/bin/bashPACKAGE="com.example.app"adb logcat-cecho"开始监控崩溃,请复现问题..."adb logcat-vthreadtime|grep-E"FATAL|AndroidRuntime|$PACKAGE"|teecrash_$(date+%Y%m%d_%H%M%S).log

七、Native 崩溃符号解析

对于 Native 崩溃,需要使用符号表解析地址:

# 使用 ndk-stack 工具adb logcat|ndk-stack-sym<项目>/obj/local/arm64-v8a# 或使用 addr2lineaddr2line-elibnative.so-f0x00001234

八、常见问题速查

1. 日志被截断/丢失

# 增大缓冲区adb logcat-G16M# 查看缓冲区大小adb logcat-g

2. chatty 日志聚合导致丢失

--------- beginning of ... ... chatty ... expire ... lines

解决:增大缓冲区或关闭 chatty

3. 获取系统属性辅助分析

# 查看系统信息adb shell getprop ro.build.version.release# 查看内存状态adb shell dumpsys meminfo com.example.app

九、辅助工具推荐

工具用途
Android Studio Logcat图形化过滤、搜索
pidcat彩色化、按包名过滤
ndk-stackNative 崩溃符号解析
Firebase Crashlytics线上崩溃收集
bugreport完整系统报告
# 生成完整 bug 报告adb bugreport bug_report.zip

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/10 18:42:28

从0到1构建Swag项目:Node.js与浏览器环境安装部署全攻略

从0到1构建Swag项目&#xff1a;Node.js与浏览器环境安装部署全攻略 【免费下载链接】swag Swag is a growing collection of helpers for handlebars templates. 项目地址: https://gitcode.com/gh_mirrors/swag1/swag Swag是一个为Handlebars.js模板提供丰富辅助功能的…

作者头像 李华
网站建设 2026/8/10 18:42:24

计算机毕业设计之高校奖助学金管理系统

信息技术是当今社会发展的重要方向之一&#xff0c;它已经深入到各个行业中。随着计算机技术的发展&#xff0c;信息技术已经从传统的数据处理转变为网络信息的处理和交互。在管理方面&#xff0c;通过信息管理技术&#xff0c;系统可以快速的处理大量的数据&#xff0c;并且能…

作者头像 李华
网站建设 2026/8/10 18:39:12

为什么选择csview?对比xsv、csvlook的10项性能优势解析

为什么选择csview&#xff1f;对比xsv、csvlook的10项性能优势解析 【免费下载链接】csview &#x1f4e0; Pretty and fast csv viewer for cli with cjk/emoji support. 项目地址: https://gitcode.com/gh_mirrors/csv/csview csview是一款高性能CSV文件查看工具&…

作者头像 李华
网站建设 2026/8/10 18:38:57

WSL2和multicast

shixudong163.com 在《WSL2和VPN》一文后话中&#xff0c;简单提了一下WSL2&#xff08;mirrored&#xff09;在支持multicast方面的不足&#xff0c;当时并没有开展进一步的深入研究。近日在github上看到多篇issues&#xff08;10735、12344&#xff09;在讨论WSL2的组播问题…

作者头像 李华
网站建设 2026/8/10 18:35:57

Unity色彩管理新体验:HSV-Color-Picker-Unity预设功能实战教程

Unity色彩管理新体验&#xff1a;HSV-Color-Picker-Unity预设功能实战教程 【免费下载链接】HSV-Color-Picker-Unity HSV color picker for Unity UI 项目地址: https://gitcode.com/gh_mirrors/hs/HSV-Color-Picker-Unity HSV-Color-Picker-Unity是一款专为Unity UI设计…

作者头像 李华