2016-11-26 105 views
5

我最近在新计算机上安装了Microsoft VS 2105 Professional(更新3),并且遇到一种奇怪的行为。每当我尝试调试程序时,当我停止调试器时,它会尝试访问我的DVD驱动器,这既奇怪又非常烦人。除了我平常的日常项目之外,我尝试使用干净的“Hello World”风格的C++和C#项目,并且它的行为仍然一样。Visual Studio 2015尝试在调试完成后访问光驱

我已经禁用了诊断工具(工具 - >选项 - >调试 - >禁用调试时启用诊断工具),并在安全模式下运行VS(devenv/SafeMode),但问题依然存在。我使用“进程监视器”来识别触发访问DVD驱动器的程序,显然“StandardCollector.Service.exe”是罪魁祸首。您可以从下面的Process Monitor找到日志(我删除了时间和PID列)。我知道这个特定的进程(StandardCollector.Service.exe)出现了一些报告问题(内存),但是为什么它试图在我的DVD驱动器上创建/访问文件对我来说是个谜。我的操作系统是Windows 10家庭版。任何人都可以为这个问题提出任何诊断或解决方案?

这种行为只有在停止调试过程时才由Visual Studio发生,而不是任何其他程序(Windows在启动时不会发生同样的情况,但我认为这很自然)。我需要补充一点,如果我禁用并从设备管理器启用DVD驱动器,则问题消失(调试完成时无法访问DVD驱动器),但1-2分钟后会再次出现。

************************************记录从进程监视器:

StandardCollector.Service.exe IRP_MJ_CREATE H:SUCCESS所需 访问:通用读/写,Dis“Apple-tab-span” style =“white-space:pre;”> IRP_MJ_CREATE H:\ INVALID PARAMETER期望 访问:同步,崩解 “苹果标签跨度” 样式= “空白:预;”> IRP_MJ_DEVICE_CONTROL H:FAST IO不允许控制: IOCTL_SCSI_PASS_THROUGH_DIRECT StandardCollector.Service.exe IRP_MJ_DEVICE_CONTROL H:SUCCESS控制: IOCTL_SC SI_PASS_THROUGH_DIRECT StandardCollector.Service.exe IRP_MJ_DEVICE_CONTROL H:FAST IO不允许控制: IOCTL_DISK_GET_DRIVE_GEOMETRY StandardCollector.Service.exe IRP_MJ_DEVICE_CONTROL H:NO媒体控制: IOCTL_DISK_GET_DRIVE_GEOMETRY StandardCollector.Service.exe IRP_MJ_DEVICE_CONTROL H:FAST IO不允许控制: IOCTL_STORAGE_QUERY_PROPERTY StandardCollector。 Service.exe IRP_MJ_DEVICE_CONTROL H:SUCCESS控制:IOCTL_STORAGE_QUERY_PROPERTY StandardCollector.Service.exe IRP_MJ_DEVICE_CONTROL H:FAST IO 不允许控制:IOCTL_CDROM_GET_CONFIGURATION StandardCollector.Service.exe IRP_MJ_DEVICE_CONTROL H:SUCCESS 控制:IOCTL_CDROM _GET_CONFIGURATION StandardCollector.Service.exe IRP_MJ_DEVICE_CONTROL H:FAST IO不允许控制: IOCTL_SCSI_PASS_THROUGH_DIRECT StandardCollector.Service.exe IRP_MJ_DEVICE_CONTROL H:SUCCESS控制: IOCTL_SCSI_PASS_THROUGH_DIRECT StandardCollector.Service.exe IRP_MJ_CLEANUP H:SUCCESS StandardCollector.Service.exe IRP_MJ_CLOSE H: SUCCESS

+0

同样的问题发生在我的HP笔记本电脑上,Windows 10 Home –

回答

3

您可以通过以下步骤禁用标准收集器服务。

  1. 下载从这个链接一个Windows服务管理:http://tools.sysprogs.org/srvman/
  2. 使用服务管理器UI查找Visual Studio的标准Collector服务。服务的名称是“VSStandardCollectorService140”。
  3. 在服务器管理器中选择VSStandardCollectorService140服务,然后单击UI中的属性按钮以禁用此服务。 enter image description here

现在无论何时开始调试或停止调试,该服务都无法启动。

+0

VS2017社区有这个问题。它也适用于视觉工作室2017年,但然后你需要检查VSStandardCollectorService150 – ArieKanarie

+0

这一直让我疯狂;非常感谢! – pmf

0

我在Visual Studio 2017中发生了同样的事情。对我来说,最简单的解决方案是去设备管理器,右键单击驱动器,然后选择“禁用设备”。我再也不用光驱了,所以这个工作正常。如果我需要使用它,可以轻松地从设备管理器重新启用它。