adb 查看log

1. adb链接设备后如何查看log

#logcat&

2. eclipse中通过DDMS中的logcat


<think>好的,用户想知道如何通过adb查看Android设备的kernel log。我之前记得Android的内核日志是基于Linux的printk函数,所以应该和Linux的日志机制类似。用户可能需要使用adb命令来访问这些日志。 首先,我需要确认正确的adb命令。常用的logcat命令主要用于查看用户空间的日志,但kernel log可能需要不同的方法。根据之前的引用[2],提到了dmesg命令,因为printk输出的日志可以通过dmesg查看。所以应该建议用户使用`adb shell dmesg`来查看实时的内核日志。另外,如果需要持续监控,可以加上`-w`参数,比如`adb shell dmesg -w`。 另外,引用[2]还提到可以通过logcat查看kernel log,但需要指定缓冲区。可能对应的命令是`adb logcat -b kernel`,不过这可能取决于设备是否支持该缓冲区。有些设备可能没有启用这个功能,所以可能需要提醒用户这一点。 还有,用户可能需要调整日志级别,这涉及到`/proc/sys/kernel/printk`文件,引用[1]和[2]都提到了这个文件。可以指导用户使用`adb shell`进入设备,然后查看或修改该文件的值。例如,`cat /proc/sys/kernel/printk`来查看当前级别,或者用`echo "7 4 1 7" > /proc/sys/kernel/printk`来设置,但需要root权限。 此外,可能需要注意权限问题,部分命令可能需要root权限才能执行,比如修改printk的日志级别或者某些dmesg选项。因此,在回答中应该提醒用户,部分操作可能需要设备已root。 最后,可能需要给出一些示例命令,让用户能够直接复制使用,并解释每个参数的作用。比如,dmesg的常用选项,-w是持续输出,-n是设置日志级别等。 总结步骤应该是: 1. 使用dmesg命令查看内核日志。 2. 使用logcat的kernel缓冲区(如果可用)。 3. 调整日志级别(需要root)。 4. 实时监控日志的方法。 同时,生成相关问题时要围绕内核日志的查看方法、调整级别、过滤信息、权限问题等。</think>### 如何通过adb查看Android设备的Kernel Log? 通过adb查看Android内核日志(Kernel Log)的常用方法如下: --- #### 方法1:使用`dmesg`命令 **原理**:Android内核通过`printk`函数输出日志,可通过Linux标准工具`dmesg`查看[^2]。 **步骤**: 1. 连接设备并执行: ```bash adb shell dmesg ``` 2. 实时监控内核日志(持续输出): ```bash adb shell dmesg -w ``` **说明**: - `dmesg`默认显示环形缓冲区中的历史日志。 - `-w`参数会持续输出新生成的日志(类似`tail -f`)。 --- #### 方法2:通过`logcat`指定内核缓冲区 **原理**:部分Android设备将内核日志映射到`logcat`的`kernel`缓冲区[^2]。 **步骤**: ```bash adb logcat -b kernel ``` **说明**: - 若设备未启用`kernel`缓冲区,此命令可能无输出。 - 可结合过滤条件使用,例如: ```bash adb logcat -b kernel -s "KERNEL_TAG" ``` --- #### 方法3:调整内核日志级别(需root权限) **原理**:通过修改`/proc/sys/kernel/printk`文件控制日志输出级别[^1][^2]。 **步骤**: 1. 查看当前日志级别: ```bash adb shell cat /proc/sys/kernel/printk ``` 输出格式为四个数字:`<当前控制台级别> <默认消息级别> <最低允许级别> <启动时默认级别>`。 2. 临时调整级别(例如允许所有级别日志): ```bash adb shell "echo '7 4 1 7' > /proc/sys/kernel/printk" ``` **注意**:需root权限,且修改重启后失效。 --- #### 常用过滤技巧 1. **按关键字过滤**: ```bash adb shell dmesg | grep "error" ``` 2. **按时间戳查看**: ```bash adb shell dmesg -t # 隐藏时间戳 adb shell dmesg -T # 显示人类可读时间(部分设备支持) ``` --- #### 总结表格 | 方法 | 命令示例 | 适用场景 | 是否需要root | |---------------|-------------------------------|------------------------|-------------| | `dmesg` | `adb shell dmesg -w` | 实时监控内核事件 | 否 | | `logcat` | `adb logcat -b kernel` | 设备支持缓冲区时 | 否 | | 调整日志级别 | `echo "7 4 1 7" > printk` | 控制日志详细程度 | 是 | ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值