是否可以使用 VS2010 分析器对 C# 中的主线程以外的线程进行采样
Posted
技术标签:
【中文标题】是否可以使用 VS2010 分析器对 C# 中的主线程以外的线程进行采样【英文标题】:Is it possible using the VS2010 profiler to sample a thread other than the Main Thread in C# 【发布时间】:2010-06-25 13:26:41 【问题描述】:我正在尝试用 c# 分析一个应用程序,以前从未做过任何类型的分析。到目前为止,我还没有找到关于分析器的太多文档,也许这里的人可能更了解。
我有一个应用程序,当我单击工具栏按钮时,它会启动一个后台线程来获取一些数据。然后准备好数据并将其显示在主线程上。我正在尝试分析此过程以确定所花费的时间是准备数据还是获取数据,但我运气不佳。如果我使用采样模式,它只显示主线程,如果我使用并发视图,它会给我大量的信息,我不喜欢争用等。
如果有人知道可以提供帮助的东西,那就干杯!
亚历克斯
【问题讨论】:
您确定它没有对其他线程进行采样吗?我不希望采样分析器将自己限制为报告单个线程。 它似乎不是 - 看不到在样本中的任何地方获取数据的方法。 【参考方案1】:VS 采样器在 I/O 期间暂停,因此如果一个线程几乎将所有时间都花在了 I/O 上,那么它看起来几乎没有花费任何时间。另一方面,仪器应该可以捕捉到它。
我最喜欢的方法是pause it while it's working,然后检查你喜欢的任何线程。
【讨论】:
谢谢,这似乎是导致我的问题的原因。以上是关于是否可以使用 VS2010 分析器对 C# 中的主线程以外的线程进行采样的主要内容,如果未能解决你的问题,请参考以下文章
创建一个对所有对象进行操作的 C# VS2010 Visualizer
如何在 VS2010 Professional 中为 C# 项目自定义代码分析字典?