专栏首页施炯的IoT开发专栏DumpMem and Monster - Virtual Memory Explorers on Windows Mobile/CE

DumpMem and Monster - Virtual Memory Explorers on Windows Mobile/CE

      Windows Mobile 5 和 6的平台是建立在CE5.x的基础上的。当可用的内存很少时,平台会自动关闭应用程序。而且,在这个移动平台上,同时只能运行32个process。在桌面电脑上,我们有4GB的可寻址空间,每个应用程序默认具有2GB的空间。而在Windows Mobile平台上,每个应用程序就只有32MB的大小。Windows Mobile/CE 实现了系统的虚拟内存管理,操作系统使用微处理器的MMU来处理虚拟地址和物理地址间的实时转换。我们可以使用工具来查看移动平台上的虚拟地址空间情况。

1. DumpMem

    这个工具可以在微软的帮助和支持板块里面下载到。下载后,将文件解压,可以看到该工程是使用EVC3来编译的,由于我的机子上没有安装Microsoft eMbedded Visual Tools 3.0,因此,就直接只用其中已经编译好的可执行文件。由于模拟器是基于ARM的,因此可以在ARMRel文件夹下找到dumpmem.exe这个文件。如果是基于x86的CE PC,那么就可以使用X86Rel文件下的同名文件。将其拷贝到storage目录下,在模拟器上运行,效果如下图1所示:

图1:dumpmem运行界面

    选择自己创建的应用程序“SMSNotifer”,点击“Create File”后,会在设备的根目录下生成一个dumpmem.txt文件,如下图2所示:

图2:dumpmem.txt所在的目录

    使用word mobile打开后,可以发现很多信息,包括目标平台、选择的应用程序信息等等,如下图3所示:

图3:dumpmem.txt所包含的信息

2. Windows Mobile Virtual Memory Monster

    基于上面这个DumpMemWindows Mobile Virtual Memory Monster给出了更加形象的图形化表示。红色表示为空,蓝色表示该段空间为保留,绿色表示该段空间已经被分配。使用设备上的左右键可以看不同的slot的情况,如下图4,展示了slot1~3的情况:

图4:Slot1~3的内存占用情况

    这个例子使用C++来写,并在VS2005环境下编译的一个工程文件。有这方面需求的朋友可以关注一下。

参考文章:

用于 Pocket PC 2002 上查看虚拟地址空间的 Dumpmem 实用工具

Slaying the Virtual Memory Monster - Part I

Slaying the Virtual Memory Monster - Part II

Visualizing the Windows Mobile Virtual Memory Monster

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • IM over Socket Between Windows Mobile Devices

        在《利用WiFi在Windows Mobile上建立Ad-hoc网络》一文中,讲述了利用WiFi在Windows Mobile上建立Ad-hoc网络的方...

    ShiJiong
  • Windows Mobile 6.5 开发者工具包

        在一段时间的等待之后,Microsoft终于在其下载中心开放了《Windows Mobile 6.5 开发者工具包》的下载。这对于广大Windows M...

    ShiJiong
  • Windows Mobile 6.5.3 Developer Tool Kit

        目前,微软正在花大量的人力物力财力做Windows Phone 7,而且据说以后会给出硬件平台配置需求,目前的Windows Mobile 6.x系列机...

    ShiJiong
  • COBBLER批量安装Windows系统

    需求:采用Cobbler批量分发安装Windows10(官方原版未封装过)并默认进入审核模式;

    WeiyiGeek
  • 算法集锦(1)|序列模型|利用深度神经网络进行DNA与蛋白质序列转换

    DNA序列和蛋白质类型,都是很重要的生物数据。今天我们介绍一种可以实现二者高效、准确的转换的深度学习算法。

    用户7623498
  • 对于Ping的过程,你真的了解吗?

    对于ping命令,想必只要是程序员都知道吧?当我们检查网络情况的时候,最先使用的命令肯定是ping命令吧?一般我们用ping查看网络情况,主要是检查两个指标,第...

    周三不加班
  • Python这些位运算的妙用,绝对让你大开眼界!

    位运算的性能大家想必是清楚的,效率绝对高。相信爱好源码的同学,在学习阅读源码的过程中会发现不少源码使用了位运算。但是为啥在实际编程过程中应用少呢?想必最大的原因...

    一墨编程学习
  • Unix time(同一时刻全世界的timestamp值是一样的吗)

    通常把它叫做时间戳,是指格林尼治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数,用有符号32位...

    peakxie
  • 命令行查看网络网速与点对点测速

    本文由腾讯云+社区自动同步,原文地址 https://stackoverflow.club/article/cli_network_speed/

    羽翰尘
  • [713]linux系统phantomjs截图乱码

    用phantomjs去截取中文页面的网站可能会出现乱码的情况,也就是截图中中文的位置全是方框。

    周小董

扫码关注云+社区

领取腾讯云代金券