精华内容
下载资源
问答
  • Android 用adb 打印linux内核调试信息dmesg和kmsg命令  Android的log信息分为内核空间和用户空间中LOG,查看用户空间(也就是app等上层的log)的log直接用logcat就可以了,如果想过滤一些信息就用adb shell ...

    Android 用adb 打印linux内核调试信息dmesg和kmsg命令

        Android的log信息分为内核空间和用户空间中LOG,查看用户空间(也就是app等上层的log)的log直接用logcat就可以了,如果想过滤一些信息就用adb shell "logcat | grep -E 'log_xxx|log_aaa'"命令,这样log只会显示含有log_aaa和log_xxx的log信息了。上层的log信息大家基本都会查看,我们这里就只说用adb查看内核的log信息,毕竟如果接个串口线来查看log,有时候确实麻烦。

    1、执行dmesg命令,可以查看全部消息。如果想把log信息保存到文件,可以用adb shell dmesg >D:/Kernel.log.

    2、adb shell 然后执行 cat /proc/kmsg。程序里面用printk函数打印的信息会显示出来。用cat /proc/kmsg命令打印出来的信息跟与dmesg 有不同, 第一次执行/proc/kmsg 打印到当前时间的所有内核信息,再次执行cat/proc/kmsg,不会再打印已经打印的信息,只打印上一次执行之后打印出来的新的信息。

    =============================================================================================================

    meminfo: basic memory status
    -adb shell cat proc/meminfo  -- 内存系统信息
    -adb shell cat proc/pid/maps --  指定进程内存地址映射
    -adb shell cat proc/pid/smaps -- 指定进程内存详细使用信息
    ?procrank info: all process memory status
    -adb shell procrank   -- VSS. RSS. PSS. USS 信息
    -adb shell procmem pid  --  指定进程VSS. RSS. PSS. USS 详细信息
    -adb shell dumpsys meminfo  --  内存系统详细信息
    -adb shell dumpsys meminfo pid

    ==========================================================================================

    Windows下adb push 总是提示Failed to copy "XX.apk" to 'system/app':Read-only file system

    一般情况看到这种提示我们会想到需要root权限,然后敲上adb remount,但是当我们执行过adb remount后,提示成功,

    但执行push命令依旧无法完成push。

    那么此时我们的做法应该是重新插拔USB数据线,并且对重新打开USB调试即可。

    adb remount 

    adb push xx.   system/lib64/hw

    adb remount

    ==========================================================================================





    展开全文
  • 最近调试Android Linux内核代码,必备命令是dmesg和cat /proc/kmsg 这两个命令分别如何使用呢?就在本文的内容 1 应用空间的Log和内和空间的Log 用户空间的Log很简单了,大家都知道有个logcat命令,logcat的使用...

    声明

    • 最近调试Android Linux内核代码,必备命令是dmesg和cat /proc/kmsg
    • 这两个命令分别如何使用呢?就在本文的内容

    1 应用空间的Log和内和空间的Log

    1. 用户空间的Log很简单了,大家都知道有个logcat命令,logcat的使用可参考logcat命令介绍

    2. 内核空间的Log所使用的命令为dmesg和cat /proc/kmsg

    2 dmesg的使用

    2.1 Android和Linux系统中的dmesg命令

    查看Android 系统中dmesg的help信息:

    dmesg --help
    

    Android 系统中的dmesg

    在Linux系统中同样有dmesg命令来查看内核Log信息:

    dmesg --help
    

    Linux系统中的dmesg

    可以发现Linux系统中的dmesg功能更齐全,Android系统中的dmesg只是一个Linux系统中dmesg阉割版本

    3 Android系统中使用cat /proc/kmsg打印内核Log

    用cat /proc/kmsg命令打印出来的信息跟与dmesg 有不同, 第一次执行/proc/kmsg 打印到当前时间的所有内核信息,再次执行cat /proc/kmsg,不会再打印已经打印的信息,只打印上一次执行之后打印出来的新的信息。

    4 环形结构日志

    应用空间和内核空间的Log是以环形结构存储,如果不及时打印出日志,那么新存入的日志将会冲掉前面的日志。在使用dmesg打印内核Log时,会发现总是打印出环形结构从头到尾的所有Log,并不会同步更新新加入的log。而使用cat /proc/kmsg即可同步打印出内核当前的Log,这也是dmesg和cat /proc/kmsg的主要差异所在。

    日志环形结构

    展开全文
  • 2019独角兽企业重金招聘...而使用cat /proc/kmsg即可同步打印出内核当前的Log,这也是dmesg和cat /proc/kmsg的主要差异所在。 转载于:https://my.oschina.net/XiaoMaPedro/blog/3029835

    声明

    • 最近调试Android Linux内核代码,必备命令是dmesg和cat /proc/kmsg
    • 这两个命令分别如何使用呢?就在本文的内容

    1 应用空间的Log和内和空间的Log

    1. 用户空间的Log很简单了,大家都知道有个logcat命令,logcat的使用可参考logcat命令介绍

    2. 内核空间的Log所使用的命令为dmesg和cat /proc/kmsg

    2 dmesg的使用

    2.1 Android和Linux系统中的dmesg命令

    查看Android 系统中dmesg的help信息:

    dmesg --help
    

    Android 系统中的dmesg

    在Linux系统中同样有dmesg命令来查看内核Log信息:

    dmesg --help
    

    Linux系统中的dmesg

    可以发现Linux系统中的dmesg功能更齐全,Android系统中的dmesg只是一个Linux系统中dmesg阉割版本

    3 Android系统中使用cat /proc/kmsg打印内核Log

    用cat /proc/kmsg命令打印出来的信息跟与dmesg 有不同, 第一次执行/proc/kmsg 打印到当前时间的所有内核信息,再次执行cat /proc/kmsg,不会再打印已经打印的信息,只打印上一次执行之后打印出来的新的信息。

    4 环形结构日志

    应用空间和内核空间的Log是以环形结构存储,如果不及时打印出日志,那么新存入的日志将会冲掉前面的日志。在使用dmesg打印内核Log时,会发现总是打印出环形结构从头到尾的所有Log,并不会同步更新新加入的log。而使用cat /proc/kmsg即可同步打印出内核当前的Log,这也是dmesg和cat /proc/kmsg的主要差异所在。

    日志环形结构

    转载于:https://my.oschina.net/XiaoMaPedro/blog/3029835

    展开全文
  • 内核调试 /proc/kmsg dmesg

    千次阅读 2019-08-09 14:54:53
    dmesg 打印内核启动过程的所有信息,/proc/kmsg也是打印内核的信息, 但是与dmesg 有不同, 第一次执行/proc/kmsg 打印到目前位置的所有内核信息,再次执行/proc/kmsg, 不打印打印过了的信息,打印第一次执行之后的...

    dmesg 打印内核启动过程的所有信息,/proc/kmsg也是打印内核的信息, 但是与dmesg 有不同, 第一次执行/proc/kmsg 打印到目前位置的所有内核信息,再次执行/proc/kmsg,

    不打印打印过了的信息,打印第一次执行之后的信息,下面举个例子:

    第一次执行dmesg打印:

    A

    C

    第一次执行/proc/kmsg打印:

    A

    C

    第二次执行dmesg打印:
    A

    C

    D
    第2次执行/proc/kmsg打印:

    D

    依次类推。
    --------------------- 
    版权声明:本文为CSDN博主「zlcchina」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/zlcchina/article/details/24195331

    展开全文
  • linux内核调试之kmsg和dmesg 1.linux中系统信息打印原理 1.1 ring buffer(‘log_buf’)    在LINUX中,所有的系统信息(包内核信息)都会传送到ring buffer(‘log_buf’)中.而内核产生的信息由printk()打印出来,系统...
  • linux内核调试kmsg,dmesg

    2013-07-16 11:19:53
    dmesg为我们多用,man dmesg告知dmesg用来显示管理kernel ring buffer,那么后者为何物,以及dmesg显示何类信息,是本文待阐述的内容。 documentation/trace/ring-buffer-design.txt包含了详细的设计方案(看来...
  • 假设你想把dmesg的容量提升到2M 方法一:在Kernel启动参数中增加类似“log_buf_len=2M”的项即可 方法二:修改内核编译选项 General setup ---> (21) Kernel log buffer size (16 => 64...
  • 1,printk()打印内核消息。 2,管理内核内存的daemon(守护进程) ...Linux系统当中最流行的日志记录器是Sysklogd,Sysklogd ... 日志记录器由两个守护进程(klogd syslogd)一个配置文件(syslog.
  • Pstore dmesg write 篇

    千次阅读 2017-11-29 19:07:18
    1. 在需要dump kmsg的情景,如 reboot、oopspanic,调用kmsg_dumper。 kmsg_dumper通过遍历,将数据发给每个dumper。  void kmsg_dump(enum kmsg_dump_reason reason) { struct kmsg_dumper *dumper; rcu_read...
  • find * | xargs grep -s "字符" grep -rIn "搜索字符" . cat /proc/kmsg dmesg
  • logcat -v time -f /data/logcat.log | cat /proc/kmsg | tee /data/kernel_dmesg.log 说明:logcat打印输出到data目录的logcat.log文件,dmesg打印,也就是kernel内核的打印会在data目录的kernel_dmesg.log文件中。...
  • 14.7printk early_printk console驱动 在 Linux 内核中,printk()是最常用的调试手段。printk()的打印消息会放入一个环形缓冲区(RingBuffer),而/proc/kmsg 文件用于描述这个环形缓冲区。通过 dmesg 命令或 ...
  • 1.环形缓冲区log_buf[]又是存在内核的...2.但是,dmesg命令cat /proc/kmsg有所不同 2.1 dmesg命令 每次使用,都会打印出环形缓冲区的所有信息 2.2 cat /proc/kmsg 只会打印出每次新的环形缓冲区的信息 比如,第一
  • 2.但是,dmesg命令cat /proc/kmsg有所不同 2.1 dmesg命令   每次使用,都会打印出环形缓冲区的所有信息 2.2 cat /proc/kmsg   只会打印出每次新的环形缓冲区的信息   比如,第一次使用c...
  •  dmesg >> kernel.log && logcat -v time & done  2、第二种 <1>.实时不会中端log: # cat /dev/kmsg -n > kernel.log &&am...
  • Android日志系统

    2018-04-27 11:21:29
    这与Linux内核自己的日志系统是分开的,内核使用“dmesg”或“/proc/kmsg”访问。日志系统在内核缓冲区中存储消息。$ adb shell dmesg > dmesg.txt 内核log日志系统包括:用于存储日志消息的内核驱动程序...
  • 持续更新中,欢迎提 PR Issue 补充指正,觉得有用的可以将 此 GitHub 仓库 Star 收藏备用。 给本项目提建议意见,或想与我交流,可关注微信公众号「闷骚的程序员」: 注: 文中有部分命令的支持情况可能与 ...
  • 可以直接在串口输入以下命令实现:logcat -v time -f /data/logcat.log | cat /proc/kmsg | tee /data/kernel_dmesg.log说明:logcat打印输出到data目录的logcat.log文件,dmesg打印,也就是kernel内核的打印会在...

空空如也

空空如也

1 2
收藏数 25
精华内容 10
关键字:

dmesg和kmsg