VS2012并发可视化工具启动异常(当前正在进行ETW收集)

在调出VS2012的并发可视化时,弹出异常"Concurrentcy Visualizer无法启动,因为当前正在进行ETW收集",如下图


后来查找资料,查了很久,终于在《收集 Windows 事件跟踪 (ETW) 数据》一文中找到线索。

按照文中的说法,需要在性能管理器中右击性能会话,然后点开属性进行相应的设置,可是并发可视化工具在开启进直接异常了,这又怎么会有会话呢?既然直路走不通,那就绕路走。先建一个性能会话再说。下图是启动的过程。



注意在Chapter10的项目选择时,依据实际的项目情况进行选择。经过这些操作之后,进入性能分析画面。如下图


分析完成后,会生成结果。如下图


这个性能分析结果也可以用作分析用。有了这些之后,那么我们再看看性能资源管理器(见上图的左侧)。点开后,进行设置。见下图


设置完成后,在性能资源管理器中右击该对话,再次启动,见下图。


这时,会弹出ETW停止的对话框,见下图


点击确定后,又会再次进行性能分析。这一次性能分析可以直接停止分析,不必等到最终结果。

ETW被强制停止并重新设置后,这时就可以启动并发可视化工具了,见下图。


下一步之后,直到完成。这时就会启动可视化分析,进入收集跟踪界面,如下图。


之后就等待,在收集跟踪完成后,进入分析画面,如下图


分析完成后,生成可视化报告,如下图。


如果是在VS2010,那么设置方式会比较简单,因为启动之后,会直接弹出对话框要求重置ETW。下图是启动的过程(ETW重置画面跟前面的类似就不再截图了)。


在并发可视化分析的时候,有几点需要注意

1、需要添加符号列表,具体设置见下图。


   

2、在分析过程中,程序中需要交互的还是需要进行相应的交互,比如点击、输入数据等,就是进行正常的软件操作。

3、可能还要增加注册表的设置,以确保ETW事件能够完全。下面是注册表的内容,直接复制到记事本中,然后重命名为.rge后缀的文件即可。其中VS2010用10.0,VS2012用11.0.

[HKEY_CURRENT_USERSoftwareMicrosoftVisualStudio11.0VSPerfMonitor]


[HKEY_CURRENT_USERSoftwareMicrosoftVisualStudio11.0VSPerfMonitorEtwConfig]
"FlushTimer"=dword:00000000
"BufferSize"=dword:00000100
"MinBuffers"=dword:00000200
"MaxBuffers"=dword:00001024


转载请注明出处http://blog.csdn.net/xxdddail/article/details/16966263

原文地址:https://www.cnblogs.com/sparkleDai/p/7605068.html