Android调试信息打印

内核调试信息

内核代码中有许多调试信息如:pr_dbug(),dev_dbg()。这些打印信息的打印级别默认为7,而printk()只会打印比其打印级别低的信息,所以这些调试信息在默认的情况下不会被打印。

查看打印优先级
cat /proc/sys/kernel/printk
7 4 1 7

(1)第一个参数 7表示小于7优先级消息才会被输出到控制台。

(2)第二个参数4 表示默认的printk消息优先级别,即printk(“hell world”);优先级为4, 由于4<7,故可以被打印到控制台。

(3)第三个参数1 表示可接收的最高优先级,当printk disable控制台输出时,设置第一个参数为1,但是,从内核等级来看,还有优先级0,这个是printk最高级优先级,一般用于内核严重消息打印。比如内存错误或者 watchdog reset.也可以设置第一个和第三个参数为0

(4)第四个参数7 默认控制台优先级,即第一个参数的默认优先级。

修改打印级别
echo 1 4 1 7 > /proc/sys/kernel/printk #修改printk对应的打印级别
或者
echo 8 > /proc/sys/kernel/printk
echo -n “file elan_ts.c +p”> /sys/kernel/debug/dynamic_debug/control

应用层调试信息Log

在hal层有许多ALOGD、ALOGI、ALOGV调试信息,可以通过#undef NDEBUG打开所有LOG
通过命令adb logcat -s <LOG_TAG> //打印有LOG_TAG标签文件的LOG
清空logcat命令:adb logcat -c

framework打印Log

import android.util.Log;
import android.util.Slog;

private static final String TAG = "DisplayPowerController";

Log.e(TAG, "-----Signal-----");
Slog.i(TAG, "Blocking screen off");

adb logcat -s <LOG_TAG> //打印有LOG_TAG标签文件的LOG

bootloader调试信息打印

通过串口工具securecrt将输出到控制台的信息保存到log文件中。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值