关闭一个Visual Studio实例的调试会终止所有其他实例的调试
解决VS/VS Code中终止一个调试会话导致另一个也停止的问题
Visual Studio 解决方案
- 调整调试终止行为:
打开「工具」->「选项」->「调试」->「常规」,找到「停止调试时终止所有进程」选项,将其改为「仅终止启动的进程」。默认设置可能会终止所有由VS启动的调试进程,哪怕是来自其他窗口的。 - 确认解决方案调试配置独立:
右键目标解决方案 ->「属性」->「调试」,确保没有配置跨解决方案的进程依赖,也没有勾选「附加到其他进程」的相关选项。 - 使用完全独立的VS实例:
打开第二个解决方案时,通过「文件」->「打开」->「项目/解决方案」在新窗口中打开,避免在同一个VS窗口中加载多个解决方案(这种情况下调试会话会共享上下文)。
Visual Studio Code 解决方案
- 检查launch.json配置:
每个解决方案的.vscode/launch.json中,确保没有设置"stopAll": true;同时确认每个调试配置的"name"唯一,且"program"或"request"指向独立的目标程序,没有共享进程ID或端口。 - 禁用插件的共享调试会话功能:
打开「扩展」面板,检查已安装的调试相关插件(如.NET Debugger、Python Debugger等),查看插件设置中是否有「共享调试会话」或「全局调试上下文」类选项,将其关闭。 - 用新窗口隔离工作区:
打开第二个解决方案时,选择「文件」->「新建窗口」,再在新窗口中打开目标文件夹/工作区,确保两个调试会话运行在完全独立的VS Code实例中。
通用排查步骤
- 验证进程独立性:
打开任务管理器,查看两个调试中的应用程序进程ID,确认二者不同。如果进程ID相同,说明你启动了同一个程序的多个实例,调试器终止主进程时会连带终止所有子实例。 - 重置调试器设置:
若以上方法无效,VS可通过「工具」->「导入和导出设置」->「重置所有设置」恢复默认调试配置;VS Code可删除.vscode文件夹下的launch.json和settings.json,重新生成调试配置。
内容的提问来源于stack exchange,提问作者Weatherman159
相关产品推荐
相关产品推荐

