分析使用 TopShelf 的应用程序
Posted
技术标签:
【中文标题】分析使用 TopShelf 的应用程序【英文标题】:Profiling an application that uses TopShelf 【发布时间】:2012-08-08 05:57:57 【问题描述】:我正在使用TopShelf 运行一个 .net 应用程序,其中一部分是处理数据并将其保存到 Sql Server 数据库中。
我发现这个过程很慢,所以我想研究分析应用程序,看看在方法调用等方面是否存在任何主要瓶颈,但是,由于 TopShelf 正在运行应用程序,我的任何分析工具使用只是坐在主程序中的 Run 方法上,不显示其余方法的任何结果。
有没有办法让分析工具在 TopShelf 运行应用程序的位置之后继续分析?
【问题讨论】:
【参考方案1】:使用 Topshelf,您可以将服务作为控制台应用程序运行,以进行调试和分析。为此,请确保未安装您的服务,只需从控制台运行它(或将其设置为程序以在您的分析器中进行分析)。然后,一旦您的服务运行了足够的时间以获得良好的配置文件跟踪,请在控制台中使用 Control+C 将其停止,它会优雅地退出,从而使配置文件能够获得良好的跟踪。
我一直在我的系统上使用 dotTRACE。
【讨论】:
我现在正在使用 Topshelf 并且应用程序在控制台中运行正常,现在我想尝试追踪我认为是内存泄漏的原因。我尝试开始分析并启动控制台应用程序并立即被杀死。有什么想法吗? 我确实找到了这篇文章blogs.msdn.com/b/dotnet/archive/2013/04/04/…,但它并没有具体解决我的错误。 :-/以上是关于分析使用 TopShelf 的应用程序的主要内容,如果未能解决你的问题,请参考以下文章
csharp 定期从Topshelf Windows服务调用多个处理程序(使用System.Threading.Timer)