Linux设备驱动程序学习(2)-调试技术

Linux设备驱动程序学习(2)-调试技术

今天进入《Linux设备驱动程序(第3版)》第四章调试技术的学习。

一、内核中的调试支持

在前面已经建议过:学习编写驱动程序要构建安装自己的内核(标准主线内核)。最重要的原因之一是:内核开发者已经建立了多项用于调试的功能。但是由于这些功能会造成额外的输出,并导致能下降,因此发行版厂商通常会禁止发行版内核中的调试功能。

为了实现内核调试,我在内核配置上增加了几项:

Kernel hacking --->

[*] Magic SysRq key

[*] Kernel debugging

[*] Debug slab memory allocations

[*] Spinlock and rw-lock debugging: basic checks

[*] Spinlock debugging: sleep-inside-spinlock checking

[*] Compile the kernel with debug info

[*] Magic SysRq key

Device Drivers --->

Generic Driver Options --->

[*] Driver Core verbose debug messages

General setup --->

[*] Configure standard kernel features (for small systems) --->

[*] Load all symbols for debugging/ksymoops

书上介绍的还有其他配置,有的我不需要,或是s3c2440不支持,菜单里看不见。

二、通过打印调试

(1)printk

linux设备驱动程序调试方法,Linux设备驱动程序学习(2)-调试技术相关推荐

  1. 我偶尔会用到的调试方法 | Linux 内核

    文章转自我朋友的公众号,以下为内容正文 ==== 大家好,我是你们的工具人老吴. 今天,和大家分享一下几个 Linux 内核的调试小技巧. 当你遇到一个 bug,你调试了 1 年半载都解决不了,这其实 ...

  2. 说说几个我偶尔会用到的调试方法 | Linux 内核

    大家好,我是你们的工具人老吴. 今天,和大家分享一下几个 Linux 内核的调试小技巧. 当你遇到一个 bug,你调试了 1 年半载都解决不了,这其实一件好事. 因为它会时刻提醒你平时写代码时要谨慎. ...

  3. linux应用程序调试方法,Linux应用程序使用写文件调试程序的方法

    Linux,一切皆文件,那么在Android系统本身,也是Linux+java罢了,也是在Linux的运行环境下. 通常,我们在调试程序的都会使用printf. 在Android中,我们会去使用log ...

  4. linux单步调试方法,linux下gdb单步调试(中).doc

    linux下gdb单步调试(中) linux下gdb单步调试(中) linux下gdb单步调试(中) 一.设置断点( BreakPoint ) 我们用 break 命令来设置断点.正面有几点设置断点的 ...

  5. linux命令及其使用方法,Linux命令及其使用方法

    Linux命令及其使用方法 (来源: 中国系统分析员) cat cd chmod chown cp cut 名称:cat 使用权限:所有使用者 使用方式:cat [-AbeEnstTuv] [--he ...

  6. linux环境变量设置方法,Linux环境变量设置指南

    以配置java环境变量为例 [编辑]修改/etc/profile文件 此法对所有用户生效 在文件末尾加入以下内容: JAVA_HOME=/usr/share/jdk1.5.0_05 PATH=$JAV ...

  7. DX9设备的一些方法介绍-------VB6编程学习DX9游戏编程DirectX9编程2D小游戏源码冷风引擎CoolWind2D游戏引擎(10)

    DX9设备的一些方法介绍(IDirect3DDevice9) 1,IDirect3DDevice9::SetRenderState:设置单个设备渲染状态参数. C++源码调用如下: HRESULT S ...

  8. linux小米3调试方法,ubuntu下小米真机调试

    电脑换成了ubunutu系统,需要进行android开发,真机挂载了半天,总算搞定了.果断分享之. 1.进入shell,在shell命令行中输入: root@bigtiger02:lsusb 输出如下 ...

  9. linux usb摄像头使用方法,linux 下USB 摄像头的使用说明

    此处我只说用uvc通用驱动 查询摄像头是否是UVC设备,参见官网 1 找到CAMERA ID 2 lsusb -d VID:PID -v | grep "14 Video" 如果输 ...

最新文章

  1. UVA1396 Most Distant Point from the Sea(AM - ICPC - Tokyo - 2007)(计算几何,半平面交 + 二分答案)
  2. wordcount代码_Scala小案例之wordcount
  3. android 上拉隐藏布局,Recycleview上拉隐藏与下拉显示
  4. 渗透操作系统——【靶场实战训练营】快来看看有没有你需要的
  5. Delphi 中自定义异常及异常处理的一般方法
  6. CentOS6.7安装elasticsearch5.4 以及kibana
  7. 【蓝桥杯Java_C组·从零开始卷】第五节(一)、BigInteger的使用
  8. 【离散数学】代数系统分类
  9. 数据库两大神器【索引和锁】
  10. 泰森中国宣布与阿里云达成战略合作
  11. 数组-去重、排序方法、json排序
  12. 【算法实践】搜狗信息流推荐算法交流.pdf(附下载链接)
  13. vue ---- 生命周期
  14. 这就是为什么IT人没有女朋友的原因!!
  15. Java从入门到精通(一)
  16. 房地产项目动态计划管理系统
  17. 用USBoot制作U盘启动盘
  18. 大田第一次和「 IDO 老徐 」连麦:诊断个人 IP
  19. 2022学Django----基础五之Ajax
  20. asp医院病历管理系统

热门文章

  1. 深度学习中的核心知识
  2. CanvasRenderingContext2D(渲染上下文对象)
  3. nginx系列之四:web服务器
  4. 【Boost】boost库asio详解1——io_service::run函数无任务时退出的问题
  5. cocos2d-x游戏开发(九)重要的基类CCNode
  6. cocos2d-x游戏实例(23)-简易动作游戏(1)
  7. 深入理解RCU|核心原理
  8. 查找两个字符串a,b中的最长公共子串
  9. 设计器的使用及常用控件
  10. LiveVideoStackCon 2022 上海站 专题抢先看(2)