在模块中,通过查询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. (转)Git 提交的正确姿势:Commit message 编写指南

    Git 每次提交代码,都要写 Commit message(提交说明),否则就不允许提交. $ git commit -m "hello world" 上面代码的-m参数,就是用来 ...

  2. 10.Jmeter 快速入门教程 -- 用Jmeter测试你的EJB

    有时候,需要对EJB进行性能基准测试,这对开发非常有帮助. 有很多种方法可以这么做, 当然我们这里介绍Apache's Jmeter 来进行实验测试. 非常不幸的是, Jmeter没有提供一个现成的测 ...

  3. 11.Jmeter 快速入门教程 -- jmeter事务控制器

    你肯定知道, jmeter是一个跨系统平台的性能测试工具, 比如他可以在linux,freebsd,windows,solaris 等等各种系统上可以运行. 我可以说, 事务 transaction ...

  4. XStream教程

    XStream是一个简单的基于Java库,Java对象序列化到XML,反之亦然(即:可以轻易的将Java对象和xml文档相互转换). 特点 使用方便 - XStream的API提供了一个高层次外观,以 ...

  5. 数据持久化之轻量级Kv持久化(二)

    阿里P7Android高级架构进阶视频免费学习请点击:https://space.bilibili.com/474380680本篇文章将继续从以下两个内容来介绍轻量级Kv持久化: [SharedPre ...

  6. ArcGis 创建Annotation注记要素类、添加注记要素 并加载到Activeview AO C#

    AO中一般有两种方式存储图面注记元素,一种使用TextElement,它是文档级的元素,编辑后要通过文档(mxd)保存:另一种是使用Annotation要素类,它是一个独立的要素类(featurecl ...

  7. 【目录】循序渐进学.Net Core Web Api开发系列

    当前标签: 循序渐进学.Net Core Web Api开发系列   循序渐进学.Net Core Web Api开发系列[16]:应用安全续-加密与解密 NET未来之路 2019-03-13 15: ...

  8. springMVC 框架的xml配置文件的说明

    springMVC框架xml文件配置的说明,直接上代码: 我们介绍四个xml文件配置以及xml内容的理解:application.xml.spring-mvc.xml.pom.xml 和 web.xm ...

  9. Shell内置命令let

  10. Java 多态基础

    多态的定义 程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在运行期间才确定. 或者是同一个行为具有多个不同表现形式或形态的能力. 多态的体现 在玩LOL时,W ...