抓取日志,对于开发人员来说是不可缺少的操作,当我们在源码中添加打印之后,那么我们可以从打印中获取到很多关键的东西。比如对关键问题的锁定,编译没错,但是却不能避免其它的错误,只有当真正运行到机器上的时候才能知道到底有没有问题。
dmesg与logcat的区别:
LOGCAT——这在Android中使用,为了查看Android中活动管理器编写的不同消息,你可以看到Android也使用linux内核,但是它的作用是,一旦内核启动(硬件初始化/探测已经处理好了),android启动一个名为init的进程,它解析包含所有android系统活动的init.rc文件,我的意思是android启动的基本进程,在这个init.rc文件中有一个名为zyte的进程,它启动Dalvik虚拟机,然后所有其他活动管理器,它将被应用程序用来与硬件交互。所以它基本上是来自VM的消息,供应用程序程序员调试。
Dmesg是来自内核的消息,假设你写了一个驱动程序,它可以作为调试驱动程序和其他内核代码的工具,其中大部分是驱动程序消息它的一种很好的调试方式,内核、驱动程序等。。
Logcat仅适用于android,其他操作系统不提供Logcat和dmesg,但在任何linux发行版上都不提供。
dmesg打印内核的环形缓冲区的内容。因此dmesg只打印系统写入内核日志的内容,logcat只输出android应用的日志。
dmesg 打印内核启动过程的所有信息,/proc/kmsg也是打印内核的信息, 但是与dmesg 有不同, 第一次执行/proc/kmsg 打印到目前位置的所有内核信息,再次执行/proc/km