是否可以使用 VS2010 探查器对 C# 中主线程以外的线程进行采样
我正在尝试用 C# 分析一个应用程序,以前从未做过任何类型的分析。到目前为止,我还没有找到太多关于探查器的文档,也许这里有人可能更了解。
我有一个应用程序,当我单击工具栏按钮时,它会启动后台线程来获取一些数据。然后准备数据并将其显示在主线程上。我正在尝试分析此过程,以确定所花费的时间是在准备数据还是在获取数据中,但我运气不佳。如果我使用采样模式,它只显示主线程,如果我使用并发视图,它会为我提供大量我不需要的信息,例如争用等。
如果有人知道可以提供帮助的信息,那么干杯!
亚历克斯
I'm trying to profile an app in c#, never done any kind of profiling before. I haven't been able to find much documentation on the profiler so far maybe someone here might know better.
I have an app that when I click a toolbar button, kicks off a background thread to fetch me some data. The data is then prepared and displayed on the Main thread. I'm trying to profile this process to determine whether the time taken is in the preparation of the data or in the fetching, but I'm not having much luck. If I use the Sampling mode, it only displays the Main thread, if I use the Concurrency view, it gives me a load of information that I'm not after like contention etc.
Cheers if anyone knows something that could help!
Alex
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
VS 采样器在 I/O 期间挂起,因此,如果线程几乎将所有时间都花在 I/O 上,那么它看起来几乎没有花费任何时间。另一方面,仪器应该捕捉到它。
我最喜欢的方法是在它工作时暂停,然后检查您喜欢的任何线程。
The VS sampler is suspended during I/O, so if a thread spends nearly all its time in I/O, it will appear to be spending almost no time at all. On the other hand, instrumentation should catch it.
My favorite method is to just pause it while it's working, and examine any thread you like.