visual-studio-2015 - Visual Studio 2015 调试完成后尝试访问光驱

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

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

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

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

************************************ LOG FROM PROCESS MONITOR:

StandardCollector.Service.exe IRP_MJ_CREATE H: SUCCESS Desired Access: Generic Read/Write, Dis"Apple-tab-span" style="white-space:pre;"> IRP_MJ_CREATE H:\ INVALID PARAMETER Desired Access: Synchronize, Dis"Apple-tab-span" style="white-space:pre;"> IRP_MJ_DEVICE_CONTROL H: FAST IO DISALLOWED Control: IOCTL_SCSI_PASS_THROUGH_DIRECT StandardCollector.Service.exe IRP_MJ_DEVICE_CONTROL H: SUCCESS Control: IOCTL_SCSI_PASS_THROUGH_DIRECT StandardCollector.Service.exe IRP_MJ_DEVICE_CONTROL H: FAST IO DISALLOWED Control: IOCTL_DISK_GET_DRIVE_GEOMETRY StandardCollector.Service.exe IRP_MJ_DEVICE_CONTROL H: NO MEDIA Control: IOCTL_DISK_GET_DRIVE_GEOMETRY StandardCollector.Service.exe IRP_MJ_DEVICE_CONTROL H: FAST IO DISALLOWED Control: IOCTL_STORAGE_QUERY_PROPERTY StandardCollector.Service.exe IRP_MJ_DEVICE_CONTROL H: SUCCESS Control: IOCTL_STORAGE_QUERY_PROPERTY StandardCollector.Service.exe IRP_MJ_DEVICE_CONTROL H: FAST IO DISALLOWED Control: IOCTL_CDROM_GET_CONFIGURATION StandardCollector.Service.exe IRP_MJ_DEVICE_CONTROL H: SUCCESS Control: IOCTL_CDROM_GET_CONFIGURATION StandardCollector.Service.exe IRP_MJ_DEVICE_CONTROL H: FAST IO DISALLOWED Control: IOCTL_SCSI_PASS_THROUGH_DIRECT StandardCollector.Service.exe IRP_MJ_DEVICE_CONTROL H: SUCCESS Control: IOCTL_SCSI_PASS_THROUGH_DIRECT StandardCollector.Service.exe IRP_MJ_CLEANUP H: SUCCESS StandardCollector.Service.exe IRP_MJ_CLOSE H: SUCCESS

最佳答案

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

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

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

    关于visual-studio-2015 - Visual Studio 2015 调试完成后尝试访问光驱,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40813663/

    相关文章:

    Linux Code::Blocks、EMACS 或 GVIM 上的 C++ 开发

    c# - 如何让 ToString() 出现在 Debug 中

    c# - 在 visual studio 调试器中检查所有类型的所有对象?

    c++ - 在 WP8 项目中调试 C++ 运行时组件

    debugging - TypeScript 和 Visual Studio 2015 断点 - 没有为该文档加载任何符号

    c++ - 不同的IDE输出不同?

    java - 如何在 NetBeans 主窗口上放置图片?

    c# - 桌面应用程序 + SQLite - 版本 = 1.0.65.0 与版本 1.0.104.0

    c++ - 如何/在哪里获取 msvs 2008(32 位)编译器工具链的编译器而不安装 msvs2008

    visual-studio - 不使用模拟器安装 Azure SDK