从.NET Compact Framework 3.5中的GC获取调试数据



我们正试图调试在Windows Embedded Compact 7上运行的.NET Compact Framework应用程序中的内存泄漏。不幸的是,我们无法使用CLR探查器,因为它会生成"不支持的指令集"错误消息,并且显然与此设置不兼容。

我们可以看到我们所有的对象都被处理了,但它们从未最终确定和释放,导致应用程序最终耗尽内存。某个地方一定留下了引用,但如果没有任何调试工具,我们就无法找到它们。有没有一种方法可以从代码内部到外部从垃圾回收器中转储数据以进行调试?似乎没有API,但很明显,CLR事件探查器有一些方法可以做到这一点

或者,有什么方法可以修复CLR事件探查器吗?有人问过这个问题(Visual Studio设备:连接到.Net CF CLR Profiler时出现不支持的指令集错误),但没有人理解这个问题,更不用说回答了。

注意:我不想在我们的代码方面寻求帮助,也不能在这里发布它(它是专有的,非常庞大),只需要调试工具。谢谢

问题是ActiveSync,如果您将其设置为TCP设备,它确实可以工作。

请按照此处的说明进行操作:http://social.msdn.microsoft.com/Forums/en-US/0fd6095d-3532-460a-9a2e-5beb1d823781/unsupported-instruction-set-message-to-connect-to-netcf-35-device-for-using-remote-performance?forum=winembmngdapp

广义:

将rtfhost3_5.exe和rtf3_5.dll复制到设备上的\Windows目录中。这些文件位于Program files\Microsoft.NET\SDK\CompactFramework\version\bin中。

运行rtfhost3_5.exe获取IP地址。

添加一个新的"手动TCP"设备,使用rtfhost3_5.exe显示的IP地址。

使用各种工具进行连接时,请使用该新设备。

最新更新