我用CF 远程能监视器, 然而这似乎只有赛道存储器初始化在管理世界为反对不受管理的世界。好吧,我只能假定这个数字列在探查的方式短允许的最大(32mb在CE5).分析特定应用程序转发现我的总体使用的所有缓存的只有设法得到有关12mb然后慢慢缩小,因为(I假定)不受管理的东西开始要求更多的存储器。存在系统还显示,该设备是非常短期的存储器。如果我杀死过程滑显示了所有的记忆回来了。因此,它必须(?) 是这个管理进程,吞咽的存储器。

是否有任何简单的(ish?) 时尚何一个可以追踪不受管存储器的使用在一些方式,可能会使我能够与之相匹配的对应P/调用电话吗?

编辑:所有你重新注它不是。净, 更多的这样的问题混淆的事情。它的。使/紧凑的框架。我知道他们似乎类似,但他们是不同的,因为。净石而CF基本上是一个包装发notimplementedexception.

有帮助吗?

解决方案

尝试启用 互操作记录.

此外,如果你访问代码的机dll你使用,检查这种出: http://msdn.microsoft.com/en-us/netframework/bb630228.aspx

其他提示

我肯定一直争取与非托管问题在C#管理应用程序的一段时间--这是不容易的。

我发现了什么是最有用的是有一个定期输出的文本日志的文件。例如你可以打印输出 GlobalMemoryStatus 每隔几分钟,随着记录每次你载一个新表格。从那里,你至少可以看到,无论是记忆逐渐侵蚀,或者一个大块大块的记忆消失在特定时间一天。

对我们来说,我们发现一个逐步的记忆丧失所有的一天只要该设备是使用。从那里我们最终发现,该条形码扫描装置正在进行初始化没有特别的原因,在我们形成基类(I归咎于以前的开发者!:-)

设立这个记录可能是一个小麻烦,但对我们来说,它支付了巨大的红利在长期运行尤其是与设备在现场使用我们可以取得真实的数据、仪器仪表,堆叠的痕迹,从例外情况,等等。

好吧,我是用C++在CE、不C#所以这不可能是有用的,但是...

我用一个包裹叫 Entrk工具箱 而监视器的存储器和资源的使用、泄漏,例外情况下Windows CE。差不多像一个轻型CE版本的boundschecker.没有诀窍最倍。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top