zoukankan      html  css  js  c++  java
  • 第十章阅读随想

    这一章讲的是Linux的各种调试技术

    打印内核调试信息:printk

    Printk函数的原型:

    Asmlinkage int printkconst char *fmt,。。。。)printk函数既可以将日志信息写到日志文件,也可以将日志信息写到控制台。Printk文件是一个简单的由4个数字组成的文本文件,默认值为:6 4 1 7

    6:强消息输出到控制台的级别,只有高于该级别的输出信息才会输出到控制台

    4:默认的消息日志级别,如果不在

    printk函数中指定日志级别,就会使用该值作为默认的级别

    1:控制台日志级别可被设置的最小值(最高优先级别)

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

    防止printk函数降低Linux驱动性能

    大量使用printk函数频繁操作日志文件或控制台设备文件(/dev/console)会严重影响Linux驱动的性能,因此需要将printk函数去掉,最好的方法无疑是利用C语言中的编译指令

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

    调试工具

    gdb调试用户空间程序

    # gcc -static -g-ogdb_debug /root/drivers/debug/gdb_debug.c

    gdbserver远程调试用户空间程序

    首先进入Android模拟器的终端然后进入data/local目录,并执行:# gdbserver:4321 ./gdb_debug

    kgdb远程调试内核程序

    Kgdb包含俩部分:kgdb内核和一套链接接口。Kgdb支持多种处理器架构

    http://i.cnblogs.com/EditPosts.aspx?opt=1

  • 相关阅读:
    数据结构之双向链表
    数据结构入门之链表(C语言实现)
    机器人操作臂运动学入门一--D-H参数标定
    机器学习--逻辑回归
    python字符串方法的简单使用
    python学习之网页数据获取
    《机器学习实战》学习笔记一K邻近算法
    杂事
    洛谷 P1926 小书童——刷题大军
    洛谷 P1968 美元汇率
  • 原文地址:https://www.cnblogs.com/lzy402682881/p/5643736.html
Copyright © 2011-2022 走看看