【问题标题】:Visual Studio 2015 Tries to Access Optical Drive After Debug FinishedVisual Studio 2015 调试完成后尝试访问光驱
【发布时间】:2016-11-26 00:04:20
【问题描述】:

我最近在一台新计算机上安装了 Microsoft VS 2105 Professional(更新 3),我遇到了一个奇怪的行为。每当我尝试调试程序时,当我停止调试器时,它就会尝试访问我的 DVD 驱动器,这既奇怪又非常烦人。除了我通常的日常项目外,我还尝试使用干净的“Hello World”风格的 C++ 和 C# 项目,它的行为仍然相同。

我已禁用诊断工具(工具->选项->调试->在调试时禁用启用诊断工具)并在安全模式下运行 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 Desired 访问:通用读/写,Dis“Apple-tab-span” style="white-space:pre;"> IRP_MJ_CREATE H:\ INVALID PARAMETER Desired 访问:同步,取消“Apple-tab-span” style="white-space:pre;"> IRP_MJ_DEVICE_CONTROL H:FAST IO DISALLOWED 控制: IOCTL_SCSI_PASS_THROUGH_DIRECT StandardCollector.Service.exe IRP_MJ_DEVICE_CONTROL H:成功控制: IOCTL_SCSI_PASS_THROUGH_DIRECT StandardCollector.Service.exe IRP_MJ_DEVICE_CONTROL H:FAST IO DISALLOWED 控制: IOCTL_DISK_GET_DRIVE_GEOMETRY StandardCollector.Service.exe IRP_MJ_DEVICE_CONTROL H:无媒体控制: IOCTL_DISK_GET_DRIVE_GEOMETRY StandardCollector.Service.exe IRP_MJ_DEVICE_CONTROL H:FAST IO DISALLOWED 控制: IOCTL_STORAGE_QUERY_PROPERTY StandardCollector.Service.exe IRP_MJ_DEVICE_CONTROL H:成功控制: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:成功 控制:IOCTL_CDROM_GET_CONFIGURATION StandardCollector.Service.exe IRP_MJ_DEVICE_CONTROL H:FAST IO DISALLOWED 控制: IOCTL_SCSI_PASS_THROUGH_DIRECT StandardCollector.Service.exe IRP_MJ_DEVICE_CONTROL H:成功控制: IOCTL_SCSI_PASS_THROUGH_DIRECT StandardCollector.Service.exe IRP_MJ_CLEANUP H:成功 StandardCollector.Service.exe IRP_MJ_CLOSE H:成功

【问题讨论】:

  • 在我的装有 Windows 10 Home 的 HP 笔记本电脑上也遇到了同样的问题

标签: visual-studio-2015 ide visual-studio-debugging


【解决方案1】:

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

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

现在无论启动调试还是停止调试,都无法启动该服务。

【讨论】:

  • VS2017 社区有这个问题。它也适用于 Visual Studio 2017,但是您需要检查 VSStandardCollectorService150
【解决方案2】:

VS2019

您无需安装任何东西。 只需执行以下操作:

  1. ⊞Win + R
  2. services.msc
  3. 查找Visual Studio Standard Collector Service
  4. 双击它并将Startup type设置为disabled

目前我不知道有任何副作用。

如果你有任何经验,请发表评论,我会更新答案。

【讨论】:

    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 2023-03-22
      • 2019-12-31
      • 1970-01-01
      • 1970-01-01
      • 2017-01-18
      • 1970-01-01
      • 2016-09-23
      • 1970-01-01
      • 2016-02-14
      相关资源
      最近更新 更多