zoukankan      html  css  js  c++  java
  • 第10章

     

       本章讲嵌入式Linux调试技术,对于复杂的Linux驱动及HAL等程序库,需要使用各种方法对其进行调试。例如,设置断点、逐步跟踪代码、输出调试信息等。打印内核调试信息:printkprintk用法与printf函数类似,只不过printk函数运行在内核空间,printf函数运行在用户空间。printk函数原型如下:asmlinkage int printk(const  char *fmt,...)。虽然使用printk函数可以很方便地将消息写入日志文件或控制台。但大量使用printk函数频繁操作日志文件获控制台设备文件(/dev/console)会严重影响Linux驱动的性能。通过虚拟文件系统(/proc)进行数据交互。/proc文件系统的行为方式与设备文件系统(/dev)类似。/proc是虚拟文件系统,是内存映射。Linux系统中有很多命令(如free)就是通过分析/proc/meminfo文件的内容来显示系统内存资源的。读者可以执行free命令,看看显示的信息是否和meminfo文件中的部分内容匹配。最后说一下调试工具,用gdb调试用户空间程序,读者可以直接运行build.sh脚本文件编译gdb_debug.c文件,但注意要加上命令行参数-g。用kgdb远程调试内核程序中首先需要配置内核参数,这些参数通知Linux内核要如何进行调试。Linux内核调试一直被认为是非常困难的。大多数宁愿直接使用printk函数输出调试信息,也不愿意使用各种命令进行调试,因为这样做并不一定能换来更多的好处。通过本章知道调试技术的一些特点及调试工具,对本章内容有了大致了解。

  • 相关阅读:
    关于跳板机登陆服务器一系列操作命令
    Linux环境搭建docker-selenium来运行UI自动化
    linux环境升级python2.7到python最新版本
    守护进程的理解--性能
    macbook添加webdriver驱动注意事项
    windows压测机本地端口号配置
    jmeter的bean shell 如何写数据到文件中
    Jenkins Pipeline介绍
    Jenkins创建Maven Job
    配置 Maven 项目使用 Nexus 仓库
  • 原文地址:https://www.cnblogs.com/fei127/p/5650452.html
Copyright © 2011-2022 走看看