Debugfs文件系统的简介及简单使用

背景

我还在读取一个又一个寄存器查gpio配置的时候,大佬,一下清晰明了的搞定了。会的就是多呀。
学习了。
移植完代码,调试设备,一直没办法连接服务器,注册不上,一直停在一个中间状态,查了半天,关键是我这边代码没什么改动呀。回退版本,通过查看git log,应该是中间有人修改了按键和led导致,因为我这边也需要通过复用gpio拉低来控制,改了初始化配置。

但问题不是那么轻易解决的,是一个大神教我我一些调试技术,也就是Debugfs,工作之余,自己拿出来简单学习一下:

时间并不富裕,mark一下,以后有需要再深入学习。

简介

和sysfs_create_file()、sysfs_create_group()类似,通过创建sysfs文件节点,并可以通echo、cat(shell)等来调试。
之前总结过这些,有时间发出来。

Debugfs通过debugfs_create_file创建文件节点。
代码就不展示了,有时间 再说吧,主要看使用情况。

使用

默认情况下,debugfs会被挂载在目录/sys/kernel/debug之下,如果您的发行版里没有自动挂载,可以用如下命令手动完成:

mkdir debug
mount -t debugfs none debug
cat debug/gpio
在这里插入图片描述
GPIO复用情况一目了然。

ps:需要root权限。

代码学习参考:
https://www.cnblogs.com/wwang/archive/2011/01/17/1937609.html

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`debugfs` 是一个用于调试文件系统的工具,可以用来查看和修改文件系统的元数据,包括 inode、块、目录等信息。它通常用于恢复损坏的文件系统或者进行文件系统的调试和分析。 以下是 `debugfs` 常用的一些命令和用法: 1. 打开文件系统 ``` debugfs /dev/device ``` 这个命令会打开 `/dev/device` 设备对应的文件系统,以便进行调试操作。请注意,使用 `debugfs` 命令需要以 root 用户身份运行。 2. 查看 inode 节点 ``` debugfs: inode <inode> ``` 这个命令会查看指定 inode 节点的详细信息,包括文件类型、权限、大小、数据块列表等。 3. 查看目录内容 ``` debugfs: ls <directory> ``` 这个命令会列出指定目录下的所有文件和子目录。 4. 查看数据块内容 ``` debugfs: dump <block> ``` 这个命令会查看指定数据块的内容。请注意,这里的数据块编号是逻辑块编号,不是物理块编号。 5. 查找文件名对应的 inode 节点 ``` debugfs: ncheck <inode> ``` 这个命令会查找指定 inode 节点对应的文件名和路径。 6. 查找数据块对应的文件名和 inode 节点 ``` debugfs: icheck <block> ``` 这个命令会查找指定数据块所属的文件名和 inode 节点。 7. 修改 inode 节点的属性 ``` debugfs: set_inode_field <inode> <field> <value> ``` 这个命令会修改指定 inode 节点的属性。其中,`<field>` 可以是 `mode`、`uid`、`gid`、`atime`、`ctime`、`mtime`、`size` 等字段。 8. 修改数据块的内容 ``` debugfs: write <block> <file> ``` 这个命令会将指定文件的内容写入指定数据块中。 请注意,使用 `debugfs` 命令需要非常小心,因为不正确的操作可能会损坏文件系统。建议在进行任何修改之前先备份文件系统
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值