.NET Compact Framework 应用程序性能分析工具

9

我找到的唯一一个是EQATEC Profiler。还有其他可以用来对.NET CF应用程序进行性能分析的性能分析器吗?


这是我所知道的唯一CF分析器。 - ctacke
4个回答

11
框架.

内置的CLRProfiler: .NET紧凑框架的CLRProfiler(.NET Framework的3.5版本):你的问题没有说明你所针对的版本。它是.NET Compact Framework 3.5 Power Toys的一部分。

.NET紧凑框架远程性能监视器也可用:

.NET紧凑框架远程性能监视器是一个分析工具,包含在.NET紧凑框架版本2.0 Service Pack 1中。该工具提供了一个用户界面,可以即时查看性能数据。当你从远程性能监视器启动应用程序时,工具将直接从公共语言运行时(CLR)读取.NET紧凑框架性能计数器的统计数据。

你还可以使用Windows桌面工具PerfMon.exe查看.NET紧凑框架性能数据。你可以将这些工具结合在一起,以实时的图形方式查看CLR生成的性能计数器数据。

远程性能监视器可让你执行以下操作:

  • 在应用程序运行时查看性能计数器数据。

  • 在应用程序运行时以图形格式在PerfMon.exe中查看性能计数器数据。

  • 启用生成.stat文件以复制先前版本的.NET紧凑框架支持的行为。

框架。使用此功能时,当应用程序退出时,任何.stat文件都会写入磁盘。有关详细信息,请参阅如何:生成性能统计信息。

  • 查看以前在.NET Compact Framework版本2.0中创建的已生成.stat文件。

  • 启用和禁用日志记录。


  • 这里有一篇关于使用它的博客系列文章:http://blogs.msdn.com/stevenpr/archive/2008/05/08/the-clr-profiler-for-the-net-compact-framework-series-index.aspx - Fredrik Mörk
    @Fredrik Mörk:那就是我在帖子中链接的内容,不过还是谢谢。 - Mitch Wheat
    1
    CLRProfiler更关注内存问题而非应用程序性能。 - Vadym Stetsiak
    @Vadmyst:没错。在移动设备上,内存瓶颈往往是更大的问题。 - Mitch Wheat
    @Mitch:我的错,我指向了你的链接,但是读错了,以为指向了别的地方。应该点击它的,我猜(懒惰可不是好事,对吧?)。 - Fredrik Mörk

    4

    根据我的经验,EQATEC分析器是唯一的“最小努力”分析选项。如果您在感兴趣的代码已经JITed之后使用“清除快照”命令,并且使用生成文件的机制,您可以自己解析它们以获得最小值、最大值和平均输出,这样更适合进行正确的性能测试。

    显然,那样就比“最小努力”更费力了! :D


    我刚刚查看了你的页面。我想你是想说“gouge”吧?在我看来,我一直认为英国人的拼写比美国人好 :) - Mike Dunlavey
    哦天啊,太尴尬了。感谢您的发现! :) - Quibblesome

    1

    0

    你能在调试器中运行它吗?你能手动中断(暂停)它吗?如果可以,那么这个方法有效

    补充:如果你可以获取线程的栈快照,它也可以在多线程应用程序上工作,并且无论应用程序有多大都可以使用。(似乎在更大的应用程序上效果更好,因为它们往往有更多的问题要解决。)


    你在大型多线程应用程序上尝试过那种技术吗? - Vadym Stetsiak
    @Vadmyst:是的,这个问题在上面已经回答了。 - Mike Dunlavey
    顺便说一下,我试图浏览你的博客,结果IE死机了。我相信里面没有什么不好的东西吧? - Mike Dunlavey
    @Mike Dunlavey:不,博客很好。我的IE可以顺利打开它。 - Vadym Stetsiak
    @Vadmyst:我猜我的机器变老了(就像我一样)。 - Mike Dunlavey

    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接