zoukankan      html  css  js  c++  java
  • Linux内核调试

    1.控制台优先级配置
    cat /proc/sys/kernel/printk
    6 4 1 7
    6是控制台的优先级,打印信息的优先级要比它高才能打印出。
    4是默认的优先级
    cat /var/log/messages 不管你的打印信息有没有打印,这个文件中都有记录

    修改日志方法:https://blog.csdn.net/tonywgx/article/details/17504001

    # cat /proc/sys/kernel/printk
    7 4 1 7

    该文件有四个数字值,它们根据日志记录消息的重要性,定义将其发送到何处。关于不同日志级别的更多信息,请查阅syslog(2)联机帮助。
    上面显示的4个数据分别对应:
    控制台日志级别:优先级高于该值的消息将被打印至控制台
    默认的消息日志级别:将用该优先级来打印没有优先级的消息
    最低的控制台日志级别:控制台日志级别可被设置的最小值(最高优先级)
    默认的控制台日志级别:控制台日志级别的缺省值

    #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 */

    echo 7 4 1 7 > /proc/sys/kernel/printk

    在console_printk中静态指定的
    int console_printk[4] = {
    CONSOLE_LOGLEVEL_DEFAULT, /*7: console_loglevel */ 将其改为8,KERN_DEBUG等级的也可以打印出来!
    MESSAGE_LOGLEVEL_DEFAULT, /*4: default_message_loglevel */
    CONSOLE_LOGLEVEL_MIN, /*1: minimum_console_loglevel */
    CONSOLE_LOGLEVEL_DEFAULT, /*7: default_console_loglevel */
    };
    将其改为6 3 1 6,然后再/proc/sys/kernel/printk中的就是6 3 1 6了

    2.反汇编命令
    arm-linuc-objdump –D –S holle.ko –>log.txt  可用于debug oops

  • 相关阅读:
    vim常用命令总结 (转)
    读《分布式一致性原理》JAVA客户端API操作2
    读《分布式一致性原理》JAVA客户端API操作
    读<分布式一致性原理>初识zookeeper
    获取管理权
    开始使⽤ZooKeeper的API
    ZooKeeper与仲裁模式
    了解zookeeper
    ZooKeeper架构
    使用Spring MVC创建 REST API--2
  • 原文地址:https://www.cnblogs.com/hellokitty2/p/9433452.html
Copyright © 2011-2022 走看看