zoukankan      html  css  js  c++  java
  • 第十章 嵌入式linux的调试技术

    《Android深度探索》第十章讲的是嵌入式Linux的调试技术。对于复杂的Linux驱动及HAL等程序库,需要使用各种方法对其进行测试。 printk函数的用法和printf函数类似,只不过printk函数运行在内核空间,printf函数运行在用户空间。也就是说,像Linux驱动这 样的Linux内核程序只能使用printk函数输出调试信息。在Linux文件系统中,/proc经常用来作为内核空间和用户空间进行数据交互的工具。 /proc文件系统的行为方式和设备文件系统(/dev)类似。/proc是虚拟文件系统,也就是说/proc并不是真正的文件系统,而是内存映射。所有 读写/proc的操作都是对内存的读写。所以读写/proc文件系统要远比读写/dev文件系统的速度快。因此,/proc文件系统也可作为Linux驱 动与用户空间程序交互的工具。测试用户空间程序的gdb、gdbserver工具和调试内核空间的kgdb工具。Gdb可以跟踪调试用户空间的程序。 List命令3种调用方式:list;list -;list n。

          通过对第十章的学习,我知道了Linux内核调试非常困难,大多数人宁愿直接使用printk函数输出调试信息,也不愿意使用各种命令进行调试。通过学习 嵌入式Linux的调试技术,在调试时可根据实际情况决定使用其中的一种或几种。当发现某段代码的bug太多或很难通过printk函数输出信息找出,可 以考虑使用kgdb用step by step的方式定位bug。灵活使用这些调试技术才是调试的根本。这些经验需要不断从实践中领悟。

  • 相关阅读:
    SugarCRM SupPanel删除键不好用
    SugarCRM 一个页面控制两个模块(editview.php)
    使用组策略去除每次打开IE7的”自定义您的设置”
    SugarCRM SupPanel表头显示不正确
    SugarCRM 去掉 模块标题左边的 问号 和 帮助
    SugarCRM 在Html中增加超连接按钮
    C#中设置状态栏(statusStrip)的布局
    poj2418 Hardwood Species *
    算法导论15.54
    算法导论9.37
  • 原文地址:https://www.cnblogs.com/menmenda/p/5654401.html
Copyright © 2011-2022 走看看