2016-11-26 103 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中發生了同樣的事情。對我來說,最簡單的解決方案是去設備管理器,右鍵單擊驅動器,然後選擇「禁用設備」。我再也不用光驅了,所以這個工作正常。如果我需要使用它,可以輕鬆地從設備管理器重新啓用它。