我使用了 CF Remote Performance Monitor,但是这似乎只跟踪在托管世界中初始化的内存,而不是在非托管世界中。好吧,我只能假设这是因为探查器中列出的数字远低于允许的最大值(CE 5 上为 32mb)。使用 RPM 对特定应用程序进行分析表明,所有缓存的总使用量只能达到 12mb 左右,然后随着(我假设)一些非托管的东西开始占用更多内存而慢慢缩小。系统中的内存滑块还显示设备内存非常不足。如果我终止进程,滑块会显示所有内存都回来了。所以它必须(?)是这个吞噬内存的托管进程。
是否有任何简单(ish?)的方式可以以某种方式跟踪非托管内存使用情况,这可能使我能够将其与相应的 P/Invoke 调用相匹配?
编辑:对于所有重新标记的人来说,它不是 .NET,像这样标记问题会使事情变得混乱。它是 .NETCF / Compact Framework。我知道它们看起来很相似,但它们不同,因为 .NET 摇滚,而 CF 基本上只是 NotImplementedException 的包装器。