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 条评论
登录 后参与评论

相关文章

来自专栏ThoughtWorks

TW洞见 | 胡凯:Mock不是测试的银弹

开发者编写高质量测试的征途上可谓布满荆棘,数据库、中间件、不同的文件系统等复杂外部系统的存在,令开发者在编写、运行测试时觉得苦恼异常。由于外部系 统常常运行在不...

38560
来自专栏芋道源码1024

小谈 Java 单元测试

总之有无数种理由不想写UT,作为工作不到三年的菜鸟深有体会。之前在点评工作的时候,团队的“UT”都集中于RPC的服务端。为啥带双引号? 因为RPC的服务端没有页...

17830
来自专栏WeTest质量开放平台团队的专栏

http性能测试点滴

在服务上线之前,性能测试必不可少。本文主要介绍性能测试的流程,需要关注的指标,性能测试工具apache bench的使用,以及常见的坑。

21930
来自专栏玉树芝兰

如何用 pipenv 克隆 Python 教程代码运行环境?(含视频讲解)

咱们的 Python 教程代码已经可以免安装在线运行了。但如果你希望在本地克隆运行环境,请参考本文的步骤说明。

13430
来自专栏CSDN技术头条

可用性更高:设计优秀的MySQL和Percona XtraDB集群

高可用性 有没有想过你的应用是否该兼容只读模式呢?这个问题有多重要? MySQL似乎是基于Web产品的最主流数据库解决方案。大多典型的互联网应用负载包括大量的读...

31570
来自专栏java工会

15个顶级Java多线程面试题及答案,快来看看吧

18750
来自专栏FreeBuf

一文了解安卓APP逆向分析与保护机制

3月17日,安卓巴士全球开发者论坛在重庆举办,网易资深安全工程师钟亚平出席交流活动,并做《安卓APP逆向与保护》的演讲。在分享中,他介绍了 Android Ap...

26730
来自专栏腾讯Bugly的专栏

《手Q Android线程死锁监控与自动化分析实践》

一、问题背景 手Q每个版本上线以后研发同学都会收到各种问题反馈。在跟进手Q内部用户反馈的问题时,发现多例问题,其表象和原因如下: 1、问题表象:“未读不消失”、...

49690
来自专栏java一日一条

测试代码时你会犯的 11 个错误

我遇到的大多数开发人员都不怎么热衷于测试。有些会去做测试,但大多数都不测试,不愿意测试,或者勉而为之。我喜欢测试,并且比起编写新的代码,愉快地花更多的时间在测试...

7720
来自专栏WeTest质量开放平台团队的专栏

http性能测试点滴

原文链接:https://wetest.qq.com/lab/view/410.html

21140

扫码关注云+社区

领取腾讯云代金券