随笔 - 249  文章 - 1  评论 - 1207  阅读 - 61万

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

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

1. DumpMem

    这个工具可以在微软的帮助和支持板块里面下载到。下载后,将文件解压,可以看到该工程是使用EVC3来编译的,由于我的机子上没有安装Microsoft eMbedded Visual Tools 3.0,因此,就直接只用其中已经编译好的可执行文件。由于模拟器是基于ARM的,因此可以在ARMRel文件夹下找到dumpmem.exe这个文件。如果是基于x86CE 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的情况:

4Slot1~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
posted on   施炯  阅读(1853)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
< 2009年1月 >
28 29 30 31 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
1 2 3 4 5 6 7

点击右上角即可分享
微信分享提示