Visual Studio 2017附加Chrome进程报错“操作在当前状态非法”求助
我之前调试React+Node项目时也遇到过几乎一样的报错,折腾了好一阵才解决,给你几个实用的排查方向:
彻底清理Chrome进程再启动调试实例
后台残留的Chrome进程经常会抢占9222端口,导致新启动的调试实例没真正生效。打开任务管理器,找到所有chrome.exe进程(包括后台运行的)全部结束,然后再用完整路径启动调试Chrome:"C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222启动后可以在地址栏输入
http://localhost:9222验证,如果能看到已打开页面的列表,说明端口配置正常。严格控制启动顺序
一定要先启动带调试端口的Chrome实例,再启动你的React应用。如果反过来操作,VS无法正确关联到开启调试模式的Chrome进程,就会抛出状态非法的错误。选择正确的Chrome进程进行附加
附加进程时别随便选一个Chrome进程,要找标题里明确带有--remote-debugging-port=9222标记的进程,或者对应你React应用页面的那个进程——选错进程大概率会触发报错。重置VS调试缓存
如果上述步骤都没用,可以试试删除项目根目录下的.vs文件夹(这是VS生成的缓存文件夹),然后重启VS,重新配置调试。缓存文件损坏经常会导致各种奇怪的调试状态问题。检查VS调试组件与配置
如果你用的是Visual Studio(不是VS Code),确保已经安装了JavaScript调试工具——可以通过「工具 -> 获取工具和功能」检查并安装相关组件。另外,确认你的调试配置里端口设置为9222,目标URL和你的React应用地址匹配。
内容的提问来源于stack exchange,提问作者user5389726598465

