为什么VS 2015会停止诊断会话?

时间:2017-03-20 15:55:11

标签: c# wpf debugging visual-studio-2015

我正在尝试使用性能分析器仅激活“时间线”来分析WPF项目(WPF,.NET 4.6.1,EF 6,Moq。,在具有W10 64位的i5机器上)。

问题是,在停止程序时,我被困在“Report ..... diagsession”选项卡中,并显示消息“Microsoft Visual Studio正在停止您的诊断会话”和旋转沙漏。有时它只是超时,有时我最终会报告,但是5到20分钟后。

有趣的是,等待诊断会话停止的时间包含在报告中。这就像收集数据的过程没有得到停止录制的消息。

使用Windows资源监视器我注意到VsStandardCollector.exe将大量数据写入“C:\ Users \ XXX \ AppData \ Local \ Temp \”中的子文件夹。在我上一次尝试中大约9千兆字节,总共10分钟,而我的应用程序只运行了30秒才停止它。

任何知道可能导致延迟停止会话的人都会知道吗?

在等待期间(< 5%)

,CPU和磁盘使用率非常低

2 个答案:

答案 0 :(得分:2)

最近,我已经了解了用于性能分析的PerfView工具,即使在Microsoft内部也是如此。它比VisualStudio便宜得多,实际上它是免费的。

因此,您可以使用它来分析Visual Studio的性能以回答您的问题,甚至更好 - 用它来分析您自己的WPF应用程序的性能。

答案 1 :(得分:0)

如果您的项目消耗的内存超过4 GB,则标准探查器的运行速度非常慢,有时死机会挂在一些未知的看不见的内部问题上。 我设法按以下步骤进行操作

  1. 内部版本版本
  2. 在暂停状态下运行Profiler。
  3. 如果VS要求,请给VS调试帐户更多的权限。
  4. 在短时间内激活事件探查器。
  5. 关闭申请
  6. 等待10到20分钟或更长时间以生成报告。