当我尝试使用 Concurrency Visualzer 分析 WPF 应用程序(尝试启动和附加到进程)时,弹出以下错误 - “无法启动 ETW 集合”
ETW 明确表示“Windows 事件跟踪”,但我不明白为什么 VS 在分析会话期间无法启动它。谢谢您的帮助。
当我尝试使用 Concurrency Visualzer 分析 WPF 应用程序(尝试启动和附加到进程)时,弹出以下错误 - “无法启动 ETW 集合”
ETW 明确表示“Windows 事件跟踪”,但我不明白为什么 VS 在分析会话期间无法启动它。谢谢您的帮助。
在我的情况下,这是由于 Process Explorer。如果您调出进程的属性,它似乎在某些时候使用 ETW 来提供统计信息。关闭 Process Explorer 解决了我的问题并允许我运行并发可视化工具。
对于遇到此问题但无法访问 tracelog.exe(WDK 10 中似乎未包含)的任何人。
列出所有数据收集器集:
logman -ets
对我来说,肇事者是NT Kernel Logger
被阻止的
logman stop "NT Kernel Logger" -ets
我对 VS2015 中的并发可视化器扩展有同样的问题。
我下载了并发可视化工具命令行实用程序并调用CVCollectionCmd /Query
(从提升的提示符),但它总是会说以下内容:
Collection cannot start because the required ETW sessions are already in use.
即使重新启动后我也收到此错误。
解决方案
我跑了tracelog -x
(从提升的提示中)并停止了每个正在运行的 ETW 会话。在那之后,CVCollectionCmd /Query
我Not collecting, ready to start.
能够从 Visual Studio 开始分析。
我无法确定我计算机上的哪个进程或服务启动了这些 ETW 会话。
我通过运行解决了问题
CVCollectionCmd /Detach
我今天刚遇到这个问题,如果有人遇到与 VS 2019 类似的问题,我的解决方案是重新启动 Windows 10。
我还确保禁用启动时启动且不需要的任何内容(转到Task Manager -> Start-up
选项卡并禁用您认为可能导致此问题的所有内容)。重新启动后,我启动了 VS 2019 并尝试再次运行分析器(我使用了Start with Current Process
菜单项),它工作得很好
注意:我实际上只打开了 VS 2019,没有别的。