zoukankan      html  css  js  c++  java
  • 嵌入式Linux调试技术

    Linux内核调试被很多人认为是很困难的,很多人宁愿直接使用printk函数输出调试信息,也不愿意使用各种命令进行调试。对于复杂的Linux驱动及HAL等程序,需要使用各种方法对其进行测试。printk函数与printf函数类似,而printk函数运行在内核空间,printf函数运行在用户空间。

    嵌入式调试方法: 

    1.模拟器。比如Qtopia Core可以用奇趣提供的Frame Buffer模拟工具qvfb,ARM硬件模拟可以用SkyEye开源项目。 

    2.远程调试。调试器还在PC上,调试器与被调试的程序通过网络通信。 

    3.通过LOG和Core Dump等文件事后分析。    

    stdprm 标准打印机 LPT1端口  stdaux 标准串行设备 COM1端口  stdin并不一定来自键盘,stdout和stderr也并不一定显示在屏幕上,可以将它们重定向到其他设备或磁盘文件上。  使用fprintf()时,第一参数推荐使用stderr而不要使用stdout,因为stderr的运行级要高一些,程序在异常退出时stderr可以输出,而stdout就不行。Kgdb包含了两部分,kgdb内核和一套连接接 口。虽然使用printk函数可以很方便的将消息写入日志文件或控制台。但大量使用printk函数频繁操作日志文件或控制台设备文件(/dev /console)会严重影响Linux驱动性能(因此写磁盘的速度远没有读写内存的速度快),因此,这就要求Linux驱动只在开发阶段使用 printk函数输出信息,在正式发布Linux驱动时将可能影响性能的printk函数去掉。

  • 相关阅读:
    生成随机数
    ES集群开启X-pack认证
    部署ceph
    分布式存储ceph理论
    kvm虚拟机迁移
    kvm虚拟机网络管理
    kvm虚拟机存储管理
    机电传动控制个人课程报告
    第11周机电传动控制作业
    补充第九周手工画图
  • 原文地址:https://www.cnblogs.com/sleepywei/p/5638402.html
Copyright © 2011-2022 走看看