zoukankan      html  css  js  c++  java
  • 第十章读书笔记

    第10章 嵌入式Linux的调试技术

     

    打印内核调试信息:printk

    Printk函数运行在内核空间,printf函数运行在用户空间

    函数原型:asmlinkage int printf(const char *fmt, ...)

    Printk函数第一个参数不加信息级别,默认值是KERN_WARING

    Linux系统通过/proc/sys/kernel/printk文件来控制printk函数输出日志信息的输出方向。Printk文件时一个由4个数字组成的文本文件,默认值是 6  4  1  7。含义如下:

    6:将消息输出到控制台的级别。只有高于该级别的输出信息才会输出到控制台(0-5输出到控制台,6-7输出到日志文件)

    4:默认的消息日志级别。如果不在printk函数中指定日志级别,就会使用该值作为默认的级别

    1:控制台日志级别可被设置的最小值

    7:控制台日志级别的默认值

    将第一个数字设为8之后需要在字符界面下操作。(printk函数在控制台显示消息是通过/dev/console设备文件实现的。该设备文件只在字符界面的控制台下才起作用,所以printk函数只有在字符界面的控制台上才能正常输出消息)

     

    可变参数的宏:

    与固定参数宏的不同之处就是可变参数宏需要通过_VA_ARGS_宏获取可变参数宏的可变参数,定义可变参数宏宇定义可变参数函数的方法相同,都使用3个点(...)来表示可变参数,可变参数必须是宏和函数最后的参数。

     

    通过虚拟文件系统(/proc)进行数据交互

    Linux文件系统中,/proc经常被用来作为内核空间与用户空间进行数据交互的工具。/proc是虚拟文件系统,是内存映射

    http://www.cnblogs.com/875825a/

  • 相关阅读:
    使用EFCore连接现有数据库
    C#面试题总结
    xamarin学习--发布apk安装包
    xamarin学习--导航参数注意事项
    centos8 安装 gitlab
    mvc添加全局过滤器
    Windows平台查看端口占用情况
    asp.net core cli---创建一个不启用https的项目
    asp.net core cli
    启动nuxt项目报错WARN node unsupported "node@v8.9.3" is incompatible with chalk@^4.1.0, expec...
  • 原文地址:https://www.cnblogs.com/875825a/p/5635381.html
Copyright © 2011-2022 走看看