Visual Studio 2017 调试器的工作进程(msvsmon.exe)意外退出 调试将终止
开发环境:
- Windows 10 in Parallels Desktop
- Visual Studio 15.6
场景还原:
使用 Visual Studio 15.6 (即 Visual Studio 2017) 新建 ASP.NET Core MVC 项目,启动调试,提示:
调试器的工作进程(msvsmon.exe)意外退出。调试将终止
其实这个问题曾经多次遇到过,但是都没做记录,导致每次都得重新搜索解决方案。
打开「事件查看器」,依次点击「Windows 日志」-「应用程序」,可以看到两条「错误」级别的日志:

其中,来源为"Application Error"的日志显示如下:
描述:
错误应用程序名称: msvsmon.exe,版本: 15.0.27428.2043,时间戳: 0x5adf7e7a
错误模块名称: unknown,版本: 0.0.0.0,时间戳: 0x00000000
异常代码: 0xc0000005
错误偏移量: 0x0000000000000000
错误进程 ID: 0x1518
错误应用程序启动时间: 0x01d3de90a8d1c526
错误应用程序路径: C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\Remote Debugger\x64\msvsmon.exe
错误模块路径: unknown
来源为"Visual Studio Remote Debugger"的日志显示如下:
描述:
无法找到来自源 Visual Studio Remote Debugger 的事件 ID 1002 的描述。本地计算机上未安装引发此事件的组件,或者安装已损坏。可以安装或修复本地计算机上的组件。
如果该事件产生于另一台计算机,则必须在该事件中保存显示信息。
以下是包含在事件中的信息:
远程调试器遇到了严重的内部错误,必须中止远程调试会话。请重新启动调试。
然后 Google 到这篇文章 恼人的Visual Studio 2010崩溃重启问题,看到作者最后关闭防火墙解决该问题后,我立即尝试关闭防火墙重试,果然正常启动调试器。
然后我又想到,昨晚在 Windows Server 上搭建 NGINX,遇到外网不能访问的问题,原因就是在防火墙设置中,没有将ngingx.exe加入到允许应用通过防火墙进行通信的列表。
联想到此,我重新打开防火墙,然后将msvsmon.exe加入到允许应用通过防火墙进行通信的列表,并勾上专用和公用。
再次启动调试,成功!
仔细看msvsmon.exe的路径,是在 Remote Debugger 文件夹下,意思是远程调试吗?因此需要通过防火墙和外网通信?
我们知道 vs 可以远程调试另一台机器的代码,但是本地调试时应该不涉及外网通信,难道和我的虚拟机环境有关系?但是以前在非虚拟机环境中也遇到过。
希望有了解的朋友解惑!
更新:
上面的解决办法,只成功了一次,然后第二次就不行了...
没办法,继续找解决方案,尝试用英文关键词 Google
the debugger's worker process (msvsmon.exe) unexpectedly exited. debugging will be aborted
找到这篇文章 msvsmon.exe crashed when debugging,汇总了很多该问题的解决办法,其中有一条引起了我的注意:
I too have Astrill installed. Completely uninstalling Astrill fixed the issue.
是的!我就是安装了 Astrill,难道是这厮引起的?
卸载 Astrill 后重启电脑,反复启动调试没有再崩溃,解决!
Visual Studio 2017 调试器的工作进程(msvsmon.exe)意外退出 调试将终止的更多相关文章
- Visual Studio 2019社区版:错误 MSB6006 “CL.exe”已退出,代码为 2
系统:win10 环境:Visual Studio 2019社区版 问题:错误 MSB6006 “CL.exe”已退出,代码为 2 解决方法: 1 一个类内部的定义返回类型为double的方法种没有写 ...
- Visual Studio 2017开发环境的安装
Visual Studio 2017是微软为了配合.NET战略推出的IDE开发环境,同时也是目前开发C#程序最新的工具,本节以Visual Studio 2017社区版的安装为例讲解具体的安装步骤. ...
- Visual Studio 2017 远程调试(Remote Debugger)应用
I.远程调试情景 项目部署在远程服务器或非本地环境中,需要 处理应用中遇到的一些错误时 (不能直接附加进程或F5调试应用). II. 远程调试准备 1.远程服务器--操作系统和硬件要求 MSDN 操作 ...
- Visual Studio 2017 通过SSH 调试Linux 上.NET Core
Visual Studio 2017 通过SSH 调试Linux 上.NET Core 应用程序. 本文环境 开发环境:Win10 x64 Visual Studio 2017 部署环境:Ubuntu ...
- Visual Studio 2017 调试 windows server 2016 Docker Container
网上很多文章都是在win10下,用Docker for windows工具进行Docker的安装部署的.用知道windows server 2016已经原生支持Docker了,其windows Con ...
- Visual Studio 2017 远程调试
当你将.NET程序发布到不同机子时候,想要进行调试,但机子不足以安装VS或安装VS麻烦,可以考虑使用远程调试,这里以C#项目为例,asp.net方法略有不同 原理: 首先安装VS远程调试工具,有俩种安 ...
- Visual Studio 2017中使用SourceLink调试ASP.NET Core源码
背景 当我们在学习ASP.NET Core或者调试ASP.NET Core程序的时候,有时候需要调试底层代码,但是当我们在Visual Studio中调试程序的时候,由于一些基础库或者第三方库缺少pd ...
- Visual Studio 2017调试开源项目代码
在我们的开发过程中很多时候我们会从GitHub上面下载一些开源的项目代码,然后在此基础上进行调试,正常情况下我们只需要将项目的源代码编译成Dll或者在.Net Core项目中直接引用相应的Nuget包 ...
- 如何使用Visual Studio 2017调试.net库源代码
在Visual Studio 2017按如下步骤设置: 1.取消选中(工具 - >选项 - >调试 - >仅我的代码)复选框.2.确保设置了(工具 - >选项 - >调试 ...
随机推荐
- 《算法导论》——重复元素的随机化快排Optimization For RandomizedQuickSort
昨天讨论的随机化快排对有重复元素的数组会陷入无限循环.今天带来对其的优化,使其支持重复元素. 只需修改partition函数即可: int partition(int *numArray,int he ...
- ARCore中四元数的插值算法实现
ARCore中四元数差值算法: 其中t的取值范围为[0, 1],当 t = 0 时,结果为a:当t = 1 时,结果为b. public static Quaternion makeInterpola ...
- html常见的块元素和行内元素(特别注意个别块元素不能嵌套其他块元素)
html中常见的块元素:div.p.h1-h6.ul.ol.li.hr.table.pre等 块级元素新开启一行即使是设置了width属性也是独占一行(可设置float浮动属性调整布局).尽可能撑满父 ...
- MySQL索引原理及优化
一.各种数据结构介绍 这一小节结合哈希表.完全平衡二叉树.B树以及B+树的优缺点来介绍为什么选择B+树. 假如有这么一张表(表名:sanguo): (1)Hash索引 对name字段建立哈希索引: 根 ...
- 【原】The Linux Command Line - Workiing with commands
● type – Indicate how a command name is interpreted● which – Display which executable program will b ...
- echarts Cannot read property 'getAttribute' of null 问题的解决方法
今天在使用echarts练习官方给的实例的时候,代码没有问题 却总是报错“Cannot read property 'getAttribute' of null” 找了好久的文档没有看明白 ... 最 ...
- 微信小程序星星评价
https://www.jianshu.com/p/4d7359dfa040
- js中遇到的一些方法和函数
这是一个笔记文章,方便日后复习. 加号的优先级高于三目运算符: console.log(') ? 'define' : 'undefine');//define setTimeout(code,mil ...
- [leetcode]297. Serialize and Deserialize Binary Tree 序列化与反序列化二叉树
Serialization is the process of converting a data structure or object into a sequence of bits so tha ...
- Xadmin弹出窗口
Xadmin弹出窗口 需求分析: 1.在添加页面的一对多和多对多字段后面加上+,点击+后,能显示出添加相应字段的窗口 2.提交后窗口关闭,添加的内容显示到当前页面 1.判断出当前字段是否为Foreig ...