【问题标题】:C# memory profileC# 内存配置文件
【发布时间】:2011-09-02 21:33:56
【问题描述】:

我正在尝试对正在积累大量内存的应用程序执行一些内存分析。

我找到了这个工具(CLRProfiler): http://msdn.microsoft.com/en-us/library/ff650691.aspx

但它似乎不起作用。当我运行它时,它永远位于“等待应用程序启动公共语言运行时”。

关于如何在 C# 中分析内存的任何其他建议?

【问题讨论】:

  • 您使用的版本是否正确?请记住,有 32 位版本和 64 位版本。这必须与您的应用程序构建设置相匹配。

标签: c# memory profile


【解决方案1】:

如果您的项目设置为构建 x86,那么您必须使用 32 位版本,即使您的操作系统是 64 位。

【讨论】:

    【解决方案2】:

    您可能使用了错误的版本!

    新的 (v4.0) 版本位于 http://www.microsoft.com/en-us/download/details.aspx?id=16273,对我来说效果很好(而且它是免费的)。

    【讨论】:

      【解决方案3】:

      如果您使用 W7 或 Vista,请以管理员身份启动它(文件->上下文菜单->以管理员身份运行)。正如其他人已经说过的,还要检查以使用正确的版本。

      【讨论】:

      • @Zenox:你在 Target CLR Version-Combobox 中选择了正确的 clr-version 吗?到.net 3.51,选择V2 Desktop CLR,以上,使用V4。你有最新的 clr profiler (V4) 吗?我记得我和你有同样的问题,但是以提升的权限启动它已经解决了这个问题(确保你没有另一个 clr profiler 实例正在运行)。然而,在我让 CLR 分析器开始工作后,我切换到 memprofiler.com 这个工具真的令人印象深刻......
      • 对我来说,我需要将这个答案和上面的评论结合起来,这很有趣,因为我的同事无需选择管理员就可以运行它,并且可以使用 CLR 的 v4 来运行完全相同的应用程序所以看起来有点随机!
      【解决方案4】:

      您可以使用ants memory profiler(红门)或dotTrace(jetbrains)等商业产品。

      两者都很容易上手。

      【讨论】:

        【解决方案5】:
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-10-26
        • 2012-10-18
        • 2021-08-14
        • 2010-10-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多