危机处理案例分析:Linux Debugfs文件系统介绍
来源:百度文库 编辑:偶看新闻 时间:2024/04/26 14:09:19
Linux Debugfs文件系统介绍及使用
注意:PERF_DEBUGFS_DIR mount -t debugfs none ${PERF_DEBUGFS_DIR} kernel support: CONFIG_DEBUG_FS CONFIG_VIRQ_DEBUG cat virq_mapping 1 Debugfs简介Debugfs文件系统目的是为开发人员提供更多内核数据,方便调试内容. 我们知道/proc文件系统关注的是进程信息,/sysfs关注是one-value-per-file策略集,而Debugfs文件系统没有如此多限制,可是任何内核要输出的信息。
2 Debugfs使用
2.1 安装文件系统
Debugfs没有物理设备,其挂载方式:
mount -t debugfs none /sys/kernel/debug
2.2 编程使用
2.2.1 要使用Debugfs的模块需要包含
2.2.2 具体步骤
a 创建目录。所有该模块输出的信息都在该目录下面。
struct dentry *debugfs_create_dir(const char *name, struct dentry *parent);
b 创建文件。在上面创建的目录下面创建文件。
struct dentry *debugfs_create_file(const char *name, mode_t mode, struct dentry *parent, void *data,
const struct file_operations *fops);
通过fops操作文件的读写等请求,文件一般用来传递字符创等信息。
c 对于数字情况下,就没有必须通过文件来传递信息了。Debugfs提供了针对数字的接口:
struct dentry *debugfs_create_u8(const char *name, mode_t mode, struct dentry *parent, u8 *value);
struct dentry *debugfs_create_u16(const char *name, mode_t mode, struct dentry *parent, u16 *value);
struct dentry *debugfs_create_u32(const char *name, mode_t mode, struct dentry *parent, u32 *value);
struct dentry *debugfs_create_u64(const char *name, mode_t mode, struct dentry *parent, u64 *value);
struct dentry *debugfs_create_bool(const char *name, mode_t mode, struct dentry *parent, u32 *value);
struct dentry *debugfs_create_blob(const char *name, mode_t mode, struct dentry *parent,
struct debugfs_blob_wrapper *blob);
d 模块卸载,需要主动删除目录下的文件。
void debugfs_remove_recursive(struct dentry *dentry);
怎样卸装linux文件系统?
Linux文件系统与dos文件系统的异同
怎样做Linux文件系统剪裁
请问linux文件系统和window的文件系统有什么区别???
安装LINUX选哪一种文件系统好?
linux文件系统和DOS文件系统的特点都是什么?主要的文件系统的操作命令分别是什么?多谢~
如何在Windox下显示Linux的文件系统?
linux使用ext2等和window不一样的文件系统
s7cc,怎样用PM4把硬盘文件系统修改成 linux
linux分布式文件系统下的软件有哪些
Linux能使用FAT32或NTFS的文件系统吗?
9.REDHAT LINUX 9.0默认使用的文件系统是()。
嵌入式linux文件系统如何加载,以及如何创建
文件系统
文件系统
Linux全介绍。
Linux文件的物理结构怎样?Linux文件系统采用什么样的方法来管理磁盘空间?
介绍有关linux的网站
介绍一下baby linux好么?
能介绍下LINUX吗?
介绍一下linux的安装!
什么是FTP ,Linux的介绍?
介绍个Linux操作系统版本
介绍下linux 的线程