我尝试在 Windows 服务上运行 IntelliTrace,但遇到一些问题。 我(通常)尝试了此处详细介绍的步骤:http://blogs.msdn.com/b/msaffer/archive/2011/02/23/using-intellitrace-with-services.aspx .
我已经尝试了 VS 2013 Update 3 IntelliTrace 下载(来自 Microsoft)以及 VS 2015 Enterprise RC 中包含的新收集器。两者响应相同。
所以:
测试服务,注册,以管理员身份运行(因此不是访问权限)。 已使用以下值创建环境 key :
COR_ENABLE_PROFILING=1
VSLOGGERCPLAN=C:\Intellitrace14\collection_plan.myplan.trace.xml
COR_PROFILER={AAAAAA70-DFED-4CB4-A1D6-920F51E9674A}
(这似乎是为 2015 RC 注册的 CLSID)
当我启动服务时,它会启动,但在事件日志中我得到:
The profiler has requested that the CLR instance not load the profiler into this process.
我尝试过 32 位和 64 位编译服务(并且注册了相关的 IntelliTrace)。
我知道 Windows 服务并不是 IntelliTrace 真正支持的目标,但它确实可以与 2010 等一起使用 - 当前版本是否确实发生了某些变化,或者我是否遗漏了某些内容?
最佳答案
这是一篇博客文章,介绍了如何使用 IntelliTrace 从生产中的 Windows 服务收集数据。 http://bit.ly/1bTfcIO
如果您在阅读本指南时遇到任何问题,也可以直接联系我:[email protected]
与此相关的是,这里还宣布 Visual Studio 2015 Enterprise 中的 IntelliTrace 现在也支持附加到正在运行的进程。 http://bit.ly/1bT1Psn这意味着您还可以附加到正在运行的 Windows 服务,而无需重新启动它。
关于c# - Intellitrace 和 Windows 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30004559/