【发布时间】:2019-01-07 22:38:05
【问题描述】:
我正在尝试使用仅激活“时间线”的性能分析器来分析 WPF 项目(WPF、.NET 4.6.1、EF 6、Moq.,在具有 W10 64 位的 i5 机器上)。
问题是在停止程序时,我卡在“报告.....诊断会话”选项卡中,并显示“Microsoft Visual Studio 正在停止您的诊断会话”和旋转沙漏的消息。有时它只是超时,有时我最终会收到报告,但要晚 5 到 20 分钟。
有趣的是,等待诊断会话停止的时间包含在报告中。就像收集数据的过程没有收到停止记录的消息一样。
使用 Windows 资源监视器我注意到 VsStandardCollector.exe 将大量数据写入“C:\Users\XXX\AppData\Local\Temp\”中的子文件夹。我上次尝试大约 9 GB,总共耗时 10 分钟,而我的应用程序只运行了 30 秒就停止了它。
任何人知道什么可能导致停止会话延迟?
等待期间 CPU 和磁盘使用率非常低 (
【问题讨论】:
-
@DmitrySavy:我正在使用性能分析器来查看哪些 WPF 视觉效果占用了我的 CPU。我不想禁用它,我想使用它。
-
@Daniel Hillebrand,所以您使用 Debug->Performance Profiler... 下的 Application Timeline 工具,对吗?如果是这样,您是否将目标从调试更改为发布模式?还请清理项目文件夹中以前的报告文件,或在删除之前将它们复制到其他文件夹,然后清理并构建您的应用程序,重新配置它。
-
@JackZhai-MSFT 没错,这就是我正在使用的工具。我刚刚又试了一次。在性能分析器中运行我的应用程序 30 秒,将其停止,我仍在等待 VS 停止会话。
-
@Daniel Hillebrand,即使在发布模式下,它仍然需要 5~20 分钟吗?我只是使用默认的 VS 设置(C# General),如果可能的话,你可以重置你的 VS 设置,然后检查结果。如果我分析一个简单的 WPF 应用程序,它还共享警告“Microsoft Visual Studio 正在停止您的诊断会话”,但它只花费几秒钟,一个简单的新 WPF 应用程序怎么样?
-
@Daniel Hillebrand,如果您使用性能分析器,它是在发布模式下使用的,我还建议您禁用“调试时启用诊断工具”,它在您调试应用程序期间以原子方式运行,至少,我们可以确定此工具是否会影响您的分析器工具。也请不要选择 TOOLS->Options 下的“Enable IntelliTrace”,并在项目属性中禁用 Host 进程。
标签: c# wpf debugging visual-studio-2015