【问题标题】:Visual Studio 2017 is not executing any code nor generating any meaningful errorsVisual Studio 2017 未执行任何代码,也未生成任何有意义的错误
【发布时间】:2018-09-11 16:17:36
【问题描述】:

我在使用 Visual Studio 时遇到问题,因此我尽可能创建了一个简单的程序。我创建了一个控制台应用程序,它应该向控制台显示一行,然后等待用户按下一个键。相反,它给了我一条错误消息。

我查看了错误消息,它正在讨论无效的句柄。我不确定哪个句柄可能无效。该代码并不复杂(并且在我使用 Visual Studio 的任何其他日子都可以正常工作)。我不知道是什么可能导致了这个问题。我大约有两个半星期没有使用 Visual Studio,但我仍然无法理解那段时间会发生什么。

这是错误消息的屏幕截图:

我访问过 Microsoft 帮助和支持网站(虽然我没有找到任何专门命名为帮助和支持的网站,但我确实找到了 MSDN 和各种论坛)。我查了 HRESULT。在我阅读的每篇文章中,都在讨论一些 Web 应用程序错误。我还没有遇到一篇文章提到在控制台应用程序中发生这种情况,这就是我如此受阻的原因。我的下一步是尝试修复我的 .NET Framework 安装,看看它是否有任何作用(我发现一些倾斜的参考资料说这可能会有所帮助)。如果其他人有任何想法,我很感兴趣!

此外,我在 Visual Studio 2013 中尝试了相同的代码。它在该 IDE 中运行良好。它仅在 Visual Studio 2017 中失败(自从安装它、卸载并重新安装它以来,我一直遇到问题)。但是,我的 VS 2013 副本是社区版,我的工作刚刚为我购买了 2017 年的专业许可证,所以如果我能让它工作,我更愿意使用它。在这一点上非常令人沮丧。如果我找不到任何其他答案,我的下一个方法是卸载它并重新安装它。这将是我第五次或第六次需要这样做,所以我希望有另一个解决方案。

编辑: 做更多的研究,我发现这只是调试代码时的一个问题。如果我使用“不调试启动”选项通过 Visual Studio 运行代码,它运行没有问题。而且由于我能够在调试模式下在同一台机器上毫无问题地使用 VS 2013,这似乎排除了 Windows 问题。该问题可能仅限于 VS 2017。

我计划卸载并重新安装 VS 2017,但这是一个漫长的过程。所以,在我这样做之前,我仍在寻找任何其他可能的解决方案。

更新:

我在事件查看器中找到了崩溃报告。这是日志:

故障桶2243818120991372909,类型1 活动名称:APPRCASH 回应:不可用 驾驶室编号:0

问题签名: P1:HelloWorldTest3.exe P2:1.0.0.0 P3:cc00d718 P4:StackHash_cad8 P5:0.0.0.0 P6:00000000 P7:c0000008 P8:PCH_E2_FROM_ntdll+0x0006A2DC P9: P10:

附件: \?\C:\ProgramData\Microsoft\Windows\WER\Temp\WERB1A6.tmp.dmp \?\C:\ProgramData\Microsoft\Windows\WER\Temp\WERB427.tmp.WERInternalMetadata.xml \?\C:\ProgramData\Microsoft\Windows\WER\Temp\WERB486.tmp.xml \?\C:\ProgramData\Microsoft\Windows\WER\Temp\WERB494.tmp.csv \?\C:\ProgramData\Microsoft\Windows\WER\Temp\WERB4D3.tmp.txt

这些文件可能在此处可用: C:\ProgramData\Microsoft\Windows\WER\ReportArchive\AppCrash_HelloWorldTest3._40a823464c1b7f1a36d57ccec8a525baac94eb58_92da583c_48deb87c

分析符号: 重新检查解决方案:0 报告 ID:a085ff02-7bff-4a22-8d90-3f52094b2f8f 报告状态:268435456 哈希桶:334244e30a9d2a234f23a4b15a46766d 驾驶室指南:0

这是否说明了它崩溃的原因?我还有一个当时加载的 .dll 列表,但我看不到任何会导致它崩溃的特别内容。

更新 #2:

我尝试在安全模式下重新启动。这解决了这个问题。所以,然后我尝试一个一个地重新启动服务,以找到导致调试器崩溃的那个。但是,Windows 不允许我在安全模式下启动任何其他服务。所以,我决定朝相反的方向尝试。我以正常模式重新启动并开始一一关闭服务。最后,我将所有 Windows 允许我关闭的服务设置为关闭,但问题仍然存在。这看起来越来越像是 Windows 更新破坏了某些东西。

更新 #3:我们激活了 Microsoft 技术支持合同。他们指派的支持工程师让我在 APPCRASH 事件期间发送内存转储和运行 Procmon 的结果。在我发送信息后,我还没有收到回复,也没有任何关于可能出了什么问题的消息。过去两天(上周星期五和本周星期一),工程师一直在忽略我的电子邮件。所以,我什至无法获得最新进展。这是一个非常令人沮丧的故障排除问题,因为它不会真正生成容易发现的错误消息。随着我了解更多,我会不断更新。感谢所有试图提供帮助的人。

更新#4: Microsoft 审查了转储文件和 Procmon 结果。他们发现错误在 CLR 中(这很奇怪,因为 VS 2013 可以毫无问题地调试......)它具体在以下 dll 方法中: win32u!NtUserMsgWaitForMultipleObjectsEx

Microsoft 表示转储中不包含该问题的详细信息,他们将继续解决该问题。在此期间,我卸载了趋势科技,重启了我的电脑,卸载了VS 2017,重启了我的电脑,重新安装了VS 2017,重启了我的电脑,VS 2017调试器仍然无法工作。我还修复了每个 .NET Framework 版本,以防它们中的任何一个被损坏,再次重新启动,以防万一我没有足够的重新启动,但仍然没有运气。唯一有效的方法是以安全模式启动计算机。

【问题讨论】:

  • 我会尝试 Visual Studio 安装程序中的修复选项(单击更多下拉菜单)。如果这不起作用,则可能是您的 Windows 安装存在问题。也许尝试系统文件检查器等。抱歉不熟悉这个问题,但据我搜索,这似乎是 Visual Studio 或 Windows 的安装问题。
  • 在“谷歌搜索”这个,在:developercommunity.visualstudio.com/content/problem/202833/…;这不是您的问题的“精确”复制,因为他们正在讨论单元测试,线程中的最后一条评论是:添加了 Viktor Veis [MSFT] 的解决方案 · 7 月 14 日上午 03:49 谢谢您的反馈!我们已经修复了这个问题,它在 15.7 中可用。感谢您帮助我们构建更好的 Visual Studio!也许请确保您正在下载最新最好的 Visual Studio 2017 版本...只是在黑暗中拍摄。
  • 谢谢,我试试看!
  • Visual Studio 已更新到最新最好的版本。我现在也在更新各个组件(显然,一个组件提供了更新的版本)。接下来我会检查 Windows 更新。
  • @InterstellarProbe bah,我的想法可能是某种权限问题,在这里浏览 hresult google 结果,我觉得它仍然可能是权限问题或丢失的 DLL 文件找不到。大概它在某个时候起作用了?您能回想一下您安装的新设备与您发现它损坏的时间一致吗?

标签: c# visual-studio console-application


【解决方案1】:

我知道已经过去两年了,但几周后问题解决后我就忘记了这一点。微软最终发现问题出在我公司用来监控员工活动的软件 Veriato。

一旦他们禁用了该软件,Visual Studio 就可以正常工作。 Veriato 最终为它发布了一个补丁。但是,它是我什至不知道在我的机器上的软件,因为它具有与病毒相似的代码模式,所以它隐藏了。微软甚至很难找到它。最终,我们的 IT 部门认出了其中一个文件的名称并将其放在一起,这就是导致问题的原因。

【讨论】:

    猜你喜欢
    • 2022-09-27
    • 1970-01-01
    • 2019-11-01
    • 2021-08-30
    • 1970-01-01
    • 2020-07-23
    • 1970-01-01
    • 1970-01-01
    • 2016-08-30
    相关资源
    最近更新 更多