在模块中,通过查询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. error LNK2005: __get_invalid_parameter_handler 已经在 LIBCMTD.lib(invarg.obj) 中定义

    转自VC错误http://www.vcerror.com/?p=166 问题描述: 在用vs2012编译程序的时候,release版本正常编译通过,但Debug版本提示下面的很多错误; 1>LI ...

  2. Python做单元测试小实例

    import sys#先定义一个函数,这个函数是计算高*宽,并返回计算结果def test(hight,width):    return hight*width #这是程序启动函数入口,给要测试的函 ...

  3. git push 报错:failed to push some refs to 'git@git.xxxx:devops/thor.git'

    error: failed to push some refs to 'git@git.caicaivip.com:devops/thor.git' hint: Updates were reject ...

  4. Java继承和构造函数

    构造函数不是类的成员,它们不是由子类继承的.它们用于初始化实例变量. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 class CSuper {   public ...

  5. UVA 10806 Cheerleaders

    Cheerleaders Description   C Cheerleaders In most professional sporting events, cheerleaders play a ...

  6. arcpy-字段唯一值、重复值、最值、平均值、方差、标准差、中数、众数

    插个广告,制作ArcGIS的Tool工具学习下面的教程就对了: 零基础学习Python制作ArcGIS自定义工具观看链接 <零基础学习Python制作ArcGIS自定义工具>课程简介 im ...

  7. Spring学习笔记(1)——初识Spring

    一.Spring是什么       通常说的Spring其实指的是Spring Framework,它是Spring下的一个子项目,Spring围绕Spring Framework这个核心项目开发了大 ...

  8. Javascript中的Date()对象

    创建一个指定的事件对象 需要在构造函数中传递一个表示时间的字符串作为参数例:var d2=new Date("8/27/2019"); 如果直接使用构造函数创建一个Date对象,则 ...

  9. sql server 事务隔离性 snapshot 、read committed说明

    一. --该 read committed 默认事务隔离级别 在 systemuser修改事务未完成时 select * from [SystemUser] where id=62; 该语句是不可读取 ...

  10. 华南理工大学“三七互娱杯”程序设计竞赛 G: HRY and tree

    题意:给出一棵树,定义两点间代价为两点路径上最长的边权,问任两点间的代价和. 解法:这道题的解法十分巧妙:直接用Kruskal对这棵树求最小生成树,然后对于即将加入到MST的这条边(u,v,w),这条 ...