从Visual Studio启动的自定义Chrome窗口关闭时为何关闭所有Chrome窗口?
可能的问题原因
Chrome进程模型关联性
Chrome默认采用单主进程多子进程架构,若Visual Studio启动的Chrome实例与其他已打开的Chrome实例共享同一主进程(比如指定的Profile 9与其他配置文件存在进程关联,或参数未完全隔离会话),关闭该实例时会触发主进程退出,进而导致所有关联的Chrome窗口被关闭。本地环境下的参数逻辑异常
尽管两台电脑Chrome版本一致,但当前设备的Chrome可能因本地配置、注册表项或系统环境差异,导致--incognito与--profile-directory组合参数的进程隔离逻辑出现异常。137版本Chrome对隐身模式与自定义配置文件的进程管理可能存在细微调整,在特定环境下触发了连锁关闭的问题。自定义配置文件损坏
Profile 9的配置文件可能已损坏,导致该配置的Chrome实例启动后与其他配置的进程产生异常关联,关闭时连带终止所有Chrome进程。
隔离调试会话的解决方法
用独立用户数据目录强制隔离进程
放弃直接指定现有Profile 9,改用--user-data-dir参数为VS调试会话创建完全独立的临时数据目录,彻底隔离与其他Chrome实例的进程关联。修改VS中的浏览器启动参数为:--user-data-dir="C:\Temp\VS_Chrome_Debug_Session" --incognito临时目录会自动生成独立配置文件,与本地现有Chrome配置完全隔离,关闭该实例时不会影响其他Chrome窗口。
修复或重置自定义配置文件
- 关闭所有Chrome进程,找到Chrome用户数据目录下的
Profile 9文件夹(通常路径为C:\Users\[你的用户名]\AppData\Local\Google\Chrome\User Data\Profile 9)。 - 备份该文件夹后删除,重新启动Chrome创建新的
Profile 9,再配置VS使用该参数测试。
- 关闭所有Chrome进程,找到Chrome用户数据目录下的
添加进程隔离辅助参数
在原有参数基础上添加--new-window和--no-default-browser-check,强制启动独立窗口并避免浏览器默认状态干扰:--incognito --profile-directory="Profile 9" --new-window --no-default-browser-check验证进程独立性
启动VS调试的Chrome后,打开任务管理器(Ctrl+Shift+Esc),检查Chrome进程树:确保VS启动的Chrome进程与其他独立打开的Chrome进程属于不同进程组,没有共享主进程。若仍关联,优先采用--user-data-dir方案。
内容的提问来源于stack exchange,提问作者Pegasus008

