当前位置: 首页 > news >正文

网站建设方案总结question2answer wordpress 整合

网站建设方案总结,question2answer wordpress 整合,营销网站建设规划概念,正规网站模板设计图一、背景 Linux 内核中提供了内核日志打印的工具printk。它的使用方式C语言中的printf是类似的。接下来我们介绍一下printk的使用方式。本文以打印Binder中的日志为例#xff0c;进行演示。 printk的方法声明和日志级别binder驱动中增加 打印代码android系统中查看日志信息 …一、背景 Linux 内核中提供了内核日志打印的工具printk。它的使用方式C语言中的printf是类似的。接下来我们介绍一下printk的使用方式。本文以打印Binder中的日志为例进行演示。 printk的方法声明和日志级别binder驱动中增加 打印代码android系统中查看日志信息 二、printk方法声明 printk 官方链接 2.1 方法声明 printk(KERN_INFO Message: %s\n, arg);KERN_INFO 的位置代表的是 要打印的消息级别printk 的第一个参数 KERN_INFO Message: %s\n 整体是一个格式化字符串arg 参数的位置 对应占位的值 具体的消息级别有如下集中 如果缺省消息界别 那就是 KERN_DEFAULT. 具体定义见 include/linux/kern_levels.h #define KERN_EMERG KERN_SOH 0 /* system is unusable */ #define KERN_ALERT KERN_SOH 1 /* action must be taken immediately */ #define KERN_CRIT KERN_SOH 2 /* critical conditions */ #define KERN_ERR KERN_SOH 3 /* error conditions */ #define KERN_WARNING KERN_SOH 4 /* warning conditions */ #define KERN_NOTICE KERN_SOH 5 /* normal but significant condition */ #define KERN_INFO KERN_SOH 6 /* informational */ #define KERN_DEBUG KERN_SOH 7 /* debug-level messages */#define KERN_DEFAULT KERN_SOH d /* the default kernel loglevel */2.2 配置可打印消息级别 printk函数所打印的消息可以通过cat /dev/kmsg 命令试试查看 或者通过 dmesg 命令查看历史消息。 但是要注意的是 ”并不是所有的级别的消息“ 都会进行输出。这是因为它有一个控制开关/proc/sys/kernel/printk 上述四个值的含义是 当前可以消息级别默认的消息级别最小消息级别Boot启动时默认消息级别 因此我们可以通过控制该文件的值来管控消息 echo 0 /proc/sys/kernel/printk 打开消息打印echo 0 1 4 7 /proc/sys/kernel/printk 来关消息打印 三、binder驱动中增加 打印代码 我们打印一下Android系统binder驱动的读写日志: static int binder_thread_write(struct binder_proc *proc, struct binder_thread *thread, binder_uintptr_t binder_buffer, size_t size, binder_size_t *consumed) {while (ptr end thread-return_error.cmd BR_OK) {int ret;if (get_user(cmd, (uint32_t __user *)ptr))return -EFAULT;ptr sizeof(uint32_t);trace_binder_command(cmd);if (_IOC_NR(cmd) ARRAY_SIZE(binder_stats.bc)) {atomic_inc(binder_stats.bc[_IOC_NR(cmd)]);atomic_inc(proc-stats.bc[_IOC_NR(cmd)]);atomic_inc(thread-stats.bc[_IOC_NR(cmd)]);}/*print info proc.name , proc.id , proc.thread_id, cmd name*/printk(%s (%d, %d), %s %s \n , proc-tsk-comm, proc-pid , thread-pid,__FUNCTION__ , binder_cmd_name(cmd) );switch(cmd){....}... }读取binder数据时进行消息打印: 打印消息的时机是针对每一个put_user进行消息打印。 static int binder_thread_read(struct binder_proc *proc,struct binder_thread *thread,binder_uintptr_t binder_buffer, size_t size,binder_size_t *consumed, int non_block) {void __user *buffer (void __user *)(uintptr_t)binder_buffer;void __user *ptr buffer *consumed;void __user *end buffer size;int ret 0;int wait_for_proc_work;if (*consumed 0) {printk(%s (%d, %d), %s %s \n , proc-tsk-comm, proc-pid , thread-pid,__FUNCTION__ , binder_cmd_name(BR_NOOP) );if (put_user(BR_NOOP, (uint32_t __user *)ptr))return -EFAULT;ptr sizeof(uint32_t);}四、Android系统查看消息 4.1 编译内核 ./build/build.sh将输出的Image.lz4-dtb文件进行烧录 adb reboot bootloader fastboot boot Image.lz4-dtb //刷入新的镜像文件4.2 查看消息 4.2.1 查看历史消息 # dmesg [ 315.979119] surfaceflinger (502, 1326), binder_thread_write BC_FREE_BUFFER [ 315.979142] surfaceflinger (502, 1326), binder_thread_read BR_NOOP [ 315.995940] ndroid.systemui (1463, 1463), binder_thread_write BC_TRANSACTION [ 315.996057] ndroid.systemui (1463, 1463), binder_thread_read BR_NOOP [ 315.996070] ndroid.systemui (1463, 1463), binder_thread_read BR_TRANSACTION_COMPLETE [ 315.996569] surfaceflinger (502, 1326), binder_thread_write BC_FREE_BUFFER [ 315.996599] surfaceflinger (502, 1326), binder_thread_read BR_NOOP 4.2.2 实时查看消息 # cat /dev/kmsg 由于系统在运行时 一定会有binder ipc 因此消息比较多建议个 grep联用或者使用更分明的日志级别。 五、写在最后 所遇问题记录 在进行 ./build/build.sh 编译时报错需要执行’make proper’ , 这个命令的执行要到源码的根目录下去执行。
http://www.dnsts.com.cn/news/253068.html

相关文章:

  • 郑州建设网站山西晋中网站建设
  • 建一个个人网站个人网站建设论文
  • 连云港网站建设公司登录百度账号
  • 单位网站建设典型材料农村电商网站建设计划书
  • 网站首页关键词优化微信网站定制
  • 如何看到网站做哪些关键字杭州学编程哪里的培训机构好
  • 浏览器打开用dw做的网站说网站是意识形态建设
  • 网站推广公司招聘网站会员注册模板
  • 深圳网站建设做一个公司网站要多少钱可以用asp做哪些网站
  • 网站使用帮助广告联盟平台怎么加入
  • 网站安全建设架构西安网站开发费用
  • 电子商务网站建设实训报告网站推广过程
  • 长沙网站建设团队中山网站建设是什么
  • 高端网站开发培训价格手机版网页
  • 模板建站难度大php网站开发专业背景
  • 网站首页效果图百度推广入口登录
  • 一起来做网站17网站代理 登陆
  • 企业营销型网站设计手机网站改版
  • 刷单类网站开发wordpress主题邮件模板下载
  • 哪些网站是用c语言做的网页界面设计教案
  • 昆山有建设网站的吗wordpress上传突然提示需要ftp
  • 人才网站wordpress 交互
  • 医疗类网站还有做seo刚开的店铺怎么做推广
  • 兰州网站建设技能论文wordpress如何做页面模板下载
  • 湖南智能网站建设哪家好视频教程网
  • 建站免费空间网站建设陕西
  • 陕西住房和建设部网站首页合肥三只羊网络科技有限公司
  • 做竞价网站用什么系统好搭建网站需要什么服务器
  • 电子商务网站建设课程设计思路陕西省城乡和住房建设厅网站
  • 做玻璃瓶的网站视频播放网站开发的报告