完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
首先我们需要了解一下我们传统的在软件类的设计开发时我们的调试方法有哪几种。 1.简单程序的单步调试,常见的我们知道的单片机的调试方式,就是这种方式,我们通过某种调试工具,比如JLink、ST-Link等等,连接到芯片上,可以进行代码的在线调试。 2.复杂程序的调试,当我们一个代码比较庞大,那么单步调试显得很不实际,那么有的时候我们采用的是printf将一些信息打印出来进行调试。 3.框架体系的代码,我们就会采用日志的方式进行代码的调试,比如说创建了相应的LOG文件,将代码信息写入这个文件,出现问题的时候我们查看这个文件就可以相应的找到原因。 那么对于Linux内核而言,我们知道,是一份代码量非常大的体系,那么调试就变成一个很困难的事情,当然对于元老级别的内核开发者来说,他们对于内核代码已经非常熟悉了,所以他们的调试相对容易一些,但是对于普通开发者而言的话,就变得非常困难,所以后来内核的开发者在Linux的后面的版本(具体的哪个版本开始的不是特别清楚),加入了proc文件系统,这个文件系统是什么呢?首先他不是一个真实存在于硬盘当中的文件系统,它是有内核构建的一个虚拟的文件系统,在里面的文件大小都是0,也就是说他们其实是没有暂用硬盘空间的,当我们内核启动的时候自动构建的一个文件系统。那么这个文件系统的具体包含的内容就是将内核的一些关键数据或者是关键的一些结构体内容通过文件的形式来展现,从而当我们进行内核开发的时候能够实时监测这些文件,来查看我们的代码是否达到了我们的预期。 常用的proc文件系统中的内容: /proc/cmdline /proc/cpuinfo /proc/devices /proc/interrupts 那么我们说该如何使用这个文件系统呢? 1.cat 命令直接查看 2.通过文件IO进行打开 3.shell当中结合cat加上正则表达式进行查看(因为有时候内容非常多,我们只要匹配我们想要看的内容就可以了。) Linux当中还有一个sys文件系统,那么它在本质意义上面和proc文件系统是一样的,不同在什么地方呢?这么说吧,proc文件系统就是一个杂货铺,东西很杂很乱,sys文件系统就是沃尔玛超市,一些东西懂井然有序,什么东西该在哪里有一定的规律。这个是两者最大的区别,至于为什么会出现两个这样的文件系统就要揪其历史缘由了,早期当proc文件系统刚出来的时候,人们很惊奇,对于内核开发大大方便了很多,所以文件就堆积如山,每个人都有自己的编写模式,没有一定的规范,后来为了统一规范才重新弄了一个sys文件系统。 |
|
相关推荐 |
|
只有小组成员才能发言,加入小组>>
「含关键代码」基于AM3352/AM3354/AM3359的Linux开发案例分享
4920 浏览 0 评论
87448 浏览 0 评论
【高手问答】如何做到精通linux威廉希尔官方网站 ?资深工程师带你突破难点
4769 浏览 2 评论
3648 浏览 2 评论
解读Linux :先从创建一个文件夹用来存放jdk压缩文件开始
2500 浏览 0 评论
2060浏览 3评论
1344浏览 1评论
求解:aarch64交叉编译工具已经安装成功,环境变量已经配置,怎么将系统架构切换为ARM的架构
1393浏览 0评论
电脑和虚拟机可以互ping,电脑和开发板也可以互ping,但是虚拟机和开发板ping不通是什么原因
1260浏览 0评论
1200浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-24 05:13 , Processed in 1.146812 second(s), Total 54, Slave 43 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号