在模块中,通过查询super_blocks列表,来遍历系统中的所有super_block,但是出现与下面类似的错误:

http://stackoverflow.com/q/5051111/941650

也可以参考他的解决方法,到System.map中去查找真实地址,不过这样不是解决问题的最好方法。

先贴出当前的代码

   1: #include <linux/module.h>

   2: #include <linux/fs.h>

   3:  

   4: MODULE_LICENSE("GPL");

   5:  

   6:  

   7: void printRawData(unsigned long size, const u_char* data)

   8: {

   9:     if (size == 0)

  10:     {

  11:         return;

  12:     }

  13:  

  14:     printk("Memory at 0x%08x\n", (u32)data);

  15:     unsigned long i = 0;

  16:     for (i=0;i<16;i++)

  17:     {

  18:         printk("%4X", i);

  19:     }

  20:     printk("\n");

  21:     for (i=0;i<16;i++)

  22:     {

  23:         printk("%4s", "__");

  24:     }

  25:  

  26:     char lineSummary[17] = {0,};

  27:     unsigned long pos = 0;

  28:     for (i=0;i<size;i++)

  29:     {

  30:         if ((pos = i % 16) == 0)

  31:         {

  32:             if (i != 0)

  33:             {

  34:                 printk(" ---- %s\n", lineSummary);

  35:                 memset(lineSummary, 0, 17);

  36:             }

  37:             else

  38:             {

  39:                 printk("\n");

  40:             }        

  41:         }

  42:  

  43:         printk("  %02X", *(data + i));

  44:  

  45:         if (*(data + i) >= 0x20 && *(data + i) <= 0x7E)

  46:         {

  47:             lineSummary[pos] = *(data + i);

  48:         }

  49:         else

  50:         {

  51:             lineSummary[pos] = ' ';

  52:         }

  53:     }

  54:  

  55:     if (size % 16 != 0)

  56:     {

  57:         for (i=0;i<16 - (size%16);i++)

  58:         {

  59:             printk("    ");

  60:         }

  61:     }

  62:  

  63:     printk(" ---- %s\n", lineSummary);

  64:     printk("\n");    

  65: }

  66:  

  67: void AnalyzeSuperBlock()

  68: {

  69:     struct super_block* item;

  70:     struct list_head * super_blocks = 0xc1778bc0;

  71:  

  72:     list_for_each_entry(item,super_blocks,s_list)

  73:     {

  74:         printk("super_block 0x%08X %s\n", item, item->s_id);

  75:     }

  76: }

  77:  

  78: static int pslist_init()

  79: {

  80:     printk("###################################################################\n");

  81:     AnalyzeSuperBlock();

  82:     return 0;

  83: }

  84:  

  85: static void pslist_exit()

  86: {

  87:     printk("###################################################################\n");

  88: }

  89:  

  90:  

  91:  

  92: module_init(pslist_init);

  93: module_exit(pslist_exit);

结果:

   1: [153479.359674] ###################################################################

   2: [153479.359677] super_block 0xF5404800 sysfs

   3: [153479.359678] super_block 0xF5404A00 rootfs

   4: [153479.359679] super_block 0xF5404C00 bdev

   5: [153479.359680] super_block 0xF5404E00 proc

   6: [153479.359681] super_block 0xF545AC00 tmpfs

   7: [153479.359682] super_block 0xF545AE00 devtmpfs

   8: [153479.359683] super_block 0xF5464400 debugfs

   9: [153479.359684] super_block 0xF5464A00 sockfs

  10: [153479.359685] super_block 0xF551F800 pipefs

  11: [153479.359686] super_block 0xF551FA00 anon_inodefs

  12: [153479.359686] super_block 0xF551FC00 securityfs

  13: [153479.359687] super_block 0xF5792200 devpts

  14: [153479.359688] super_block 0xF57A8000 hugetlbfs

  15: [153479.359689] super_block 0xF57A8800 mqueue

  16: [153479.359690] super_block 0xF4C57000 sysfs

  17: [153479.359691] super_block 0xF4C4AC00 tmpfs

  18: [153479.359692] super_block 0xF4DB3C00 fusectl

  19: [153479.359693] super_block 0xF4D57000 sda1

  20: [153479.359694] super_block 0xF4C99600 tmpfs

  21: [153479.359695] super_block 0xF4D3CC00 tmpfs

  22: [153479.359696] super_block 0xEF20DC00 binfmt_misc

  23: [153479.359697] super_block 0xF2F23C00 vboxsf

  24: [153479.359698] super_block 0xEF12AA00 vboxsf

  25: [153479.359699] super_block 0xEE76B800 vboxsf

  26: [153479.359700] super_block 0xF2CBC600 fuse

  27: [153479.359701] super_block 0xEDA70400 vboxsf

  28: [153479.361922] ###################################################################

super_blocks没有导出的更多相关文章

  1. premere cs4绿色版 安装 并且 视频导出 讲解

    最近室友,开始在玩视频剪辑,用的是 premere cs4 绿色版.让他遇到的最大问题也是我之前遇到的最大问题,就是视频导出. 所以我在这里上传一套自己的一点点经验吧. 接下来,我就总结一下 我是怎么 ...

  2. C# Excel导入、导出【源码下载】

    本篇主要介绍C#的Excel导入.导出. 目录 1. 介绍:描述第三方类库NPOI以及Excel结构 2. Excel导入:介绍C#如何调用NPOI进行Excel导入,包含:流程图.NOPI以及C#代 ...

  3. ASP.NET MVC5+EF6+EasyUI 后台管理系统(63)-Excel导入和导出-自定义表模导入

    系列目录 前言 上一节使用了LinqToExcel和CloseXML对Excel表进行导入和导出的简单操作,大家可以跳转到上一节查看: ASP.NET MVC5+EF6+EasyUI 后台管理系统(6 ...

  4. Hawk 5.1 数据导入和导出

    除了一般的数据库导入导出,Hawk还支持从文件导入和导出,支持的文件类型包括: Excel CSV(逗号分割文本文件) TXT (制表符分割文本文件) Json xml Excel 目前来看,Exce ...

  5. CRL快速开发框架系列教程十(导出对象结构)

    本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...

  6. CRL快速开发框架系列教程九(导入/导出数据)

    本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...

  7. C#向PPT文档插入图片以及导出图片

    PowerPoint演示文稿是我们日常工作中常用的办公软件之一,而图片则是PowerPoint文档的重要组成部分,那么如何向幻灯片插入图片以及导出图片呢?本文我将给大家分享如何使用一个免费版Power ...

  8. C#中将DataTable导出为HTML的方法

    今天我要向大家分享一种将DataTable导出为到HTML格式的方法.有时我们需要HTML格式的输出数据, 以下代码就可以帮助我们达到目的,. 首先,我们要绑定DataTable和 DataGridV ...

  9. C#使用Aspose.Cells导出Excel简单实现

    首先,需要添加引用Aspose.Cells.dll,官网下载地址:http://downloads.aspose.com/cells/net 将DataTable导出Xlsx格式的文件下载(网页输出) ...

随机推荐

  1. GIL - global interpreter lock

    python是一个解释型语言,但是可以使用多个解释器.比如C++,但是可以用不同的编译器来编译成可执行代码.有名的编译器例如GCC,INTEL C++,Visual C++等.Python也一样,同样 ...

  2. 树的重心(DFS)

    ;vector< ; i < v[node].size() ; i++){ , ; i <= n- ; i++){ cin >> a >> b; v[a].p ...

  3. 使用font-size:0px 来制作跨浏览器的inline-block css属性

    如果排列的元素是等高的话,相信很多人都会使用浮动来布局,不过如果元素不等高的话,不添加多余的标签,浮动布局是很难实现下图中的效果.如果遇到这种情况,可以使用inline-block来布局. 现代浏览器 ...

  4. 实用maven笔记一概念&构建

    maven,作为我现在每天都会使用的工具,却发现我还有很多地方了解的迷迷糊糊.老大就曾说过我的一个问题在于,做事情不够精细.大概就是太浮于表面吧.最近突然非常想把maven撸一遍.豆瓣搜了下高分书籍, ...

  5. Eureka 系列(06)消息广播(下):TaskDispacher 之 Acceptor - Worker 模式

    Eureka 系列(06)消息广播(下):TaskDispacher 之 Acceptor - Worker 模式 [TOC] Spring Cloud 系列目录 - Eureka 篇 Eureka ...

  6. 这 17 个 JVM 参数,高级 Java 必须掌握!

    作者:SimpleSmile https://www.cnblogs.com/Simple-Object/p/10272326.html前言 大家都知道,jvm在启动的时候,会执行默认的一些参数.一般 ...

  7. Java面试必问-ThreadLocal

    前言 在面试环节中,考察"ThreadLocal"也是面试官的家常便饭,所以对它理解透彻,是非常有必要的. 有些面试官会开门见山的提问: “知道ThreadLocal吗?” “讲讲 ...

  8. python 三方库字典

    参考:https://github.com/jobbole/awesome-python-cn 环境管理 管理 Python 版本和环境的工具 p:非常简单的交互式 python 版本管理工具.官网 ...

  9. Linux下设置Core文件生成路径及文件名

    修改core dump文件路径:  方法1:临时修改: 修改/proc/sys/kernel/core_pattern文件/proc目录本身动态加载每次系统重启都会重新加载因此种方法只能作临时修改/p ...

  10. c# 关于DataTable

    1.DataRow数组 转DataTable using (SqlConnection con = new SqlConnection("server=.;uid=sa;pwd=123;da ...