Visual Studio 2010 性能分析能否与用 C# 编写的 Windows 服务一起工作

Posted

技术标签:

【中文标题】Visual Studio 2010 性能分析能否与用 C# 编写的 Windows 服务一起工作【英文标题】:Can Visual Studio 2010 Performance Analysis work with Windows Service written in C# 【发布时间】:2011-05-04 20:11:42 【问题描述】:

我想使用内存分析器来确定在一个相当复杂的用 C# 编写的 Windows 服务中是否有内存链接,该服务有大量正在运行的线程。如果我循环服务中的代码不断重复相同的操作,它的内存占用会不断增长。

我很失望地发现 Visual Studio 2010 中内置的性能分析工具无法与 Windows 服务一起使用(或者至少它似乎无法与 Windows 服务一起使用)。

有人知道让 VS 2010 工具与 Windows 服务一起工作的方法吗?

【问题讨论】:

【参考方案1】:

我知道的唯一解决方法是重构您的服务,使其能够基于命令行开关作为应用程序和 Windows 服务运行 - 请参阅 here 以获取详细的解决方案。这样一来,您现在可以在作为常规应用程序运行时应用性能分析,并且在完成后无需修改代码库即可作为 Windows 服务运行。

【讨论】:

谢谢-您的解决方案很有意义-尽管我最终改用了ANTS内存分析器-这是一个更简单的解决方案,绝对值得购买。非常令人沮丧的是,如果不重构代码,微软的解决方案将无法用于服务:-(

以上是关于Visual Studio 2010 性能分析能否与用 C# 编写的 Windows 服务一起工作的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 数据库项目能否为每个已更改的对象创建单独的差异脚本?

VisualHg和Visual Studio 2010性能问题

Visual Studio 2010 性能测试

分析报告后,Visual Studio 2010 在分析时崩溃

使用 Visual Studio 2010 代码分析检查 XML 代码文档

名为 MultiString 的类的 Visual Studio 2010 代码分析警告 CA1704