VSCode的Debugger for Chrome:在VSCode中调试网页

发布时间 - 2025-12-31 00:00:00    点击率:
若VSCode中Debugger for Chrome无法触发断点或连接失败,需依次检查:一、安装启用官方扩展;二、配置launch.json中type为pwa-chrome并指定file路径;三、终端命令启动Chrome启用--remote-debugging-port=9222;四、用lsof检查并释放9222端口,允许VSCode和Chrome通过防火墙;五、设置断点后启动调试,确认状态栏显示DEBUGGING及Chrome图标。

如果您在 VSCode 中使用 Debugger for Chrome 扩展调试网页时无法触发断点或连接失败,则可能是由于配置缺失、Chrome 启动参数不匹配或端口被占用所致。以下是解决此问题的步骤:

本文运行环境:MacBook Air,macOS Sequoia。

一、安装并启用 Debugger for Chrome 扩展

该扩展是 VSCode 与 Chrome 浏览器建立调试通信的基础组件,必须正确安装且处于启用状态。

1、打开 VSCode,点击左侧活动栏的扩展图标(或按 Cmd+Shift+X)。

2、在搜索框中输入 Debugger for Chrome,找到由 Microsoft 发布的官方扩展。

3、点击“安装”,安装完成后点击“重新加载”按钮使扩展生效。

二、配置 launch.json 启动项

launch.json 定义了调试会话的运行方式,包括目标 URL、端口、是否自动打开浏览器等关键参数。

1、在项目根目录下打开命令面板(Cmd+Shift+P),输入并选择 Debug: Open launch.json

2、若提示选择环境,选择 Chrome;若已存在配置文件,则在 configurations 数组中添加新对象。

3、添加如下配置项(适配本地 HTML 文件):

"configurations": [{
  "type": "pwa-chrome",
  "request": "launch",
  "name": "Launch Chrome against index.html",
  "file": "${workspaceFolder}/index.html"
}]

三、以远程调试模式启动 Chrome

Chrome 必须以启用远程调试协议的方式启动,否则 VSCode 无法与其建立 WebSocket 连接。

1、完全退出所有正在运行的 Chrome 实例(包括后台进程)。

2、在终端中执行以下命令启动 Chrome:

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222 --no-first-run --no-default-browser-check --disable-extensions

3、确认终端未报错,且 Chrome 窗口正常打开并显示地址栏右上角无扩展图标。

四、检查端口占用与防火墙设置

VSCode 默认通过 9222 端口与 Chrome 通信,若该端口被其他进程占用或被系统防火墙拦截,调试将中断连接。

1、在终端执行 lsof -i :9222 查看端口占用进程。

2、若返回结果非空,记录 PID 并执行 kill -9 [PID] 强制终止。

3、前往“系统设置 > 网络 > 防火墙 > 防火墙选项”,确认 Visual Studio CodeGoogle Chrome 均被允许传入连接。

五、验证调试器连接状态

VSCode 调试面板需显示活动会话且控制台输出 Chrome 实例信息,表明通道已就绪。

1、在 index.html 对应的 TypeScript 或 JavaScript 文件中任意行左侧灰色区域点击,设置一个断点。

2、按 Cmd+Shift+D 切换到调试视图,从顶部下拉菜单选择 Launch Chrome against index.html

3、点击绿色三角形“开始调试”,观察底部状态栏是否出现 DEBUGGING 提示及 Chrome 图标。


# javascript  # java  # vscode  # html  # js  # json  # go  # typescript  # 防火墙  # 浏览器 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: php8.4header发送头信息失败怎么办_php8.4header函数问题解决【解答】  Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】  香港服务器选型指南:免备案配置与高效建站方案解析  微博html5版本怎么弄发超话_超话进入入口及发帖格式要求【教程】  Windows10电脑怎么查看硬盘通电时间_Win10使用工具检测磁盘健康  PHP 实现电台节目表的智能时间匹配与今日/明日轮播逻辑  免费视频制作网站,更新又快又好的免费电影网站?  Laravel Blade组件怎么用_Laravel可复用视图组件的创建与使用  EditPlus中的正则表达式实战(5)  Laravel的辅助函数有哪些_Laravel常用Helpers函数提高开发效率  高性能网站服务器配置指南:安全稳定与高效建站核心方案  IOS倒计时设置UIButton标题title的抖动问题  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?  Python数据仓库与ETL构建实战_Airflow调度流程详解  Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议  Laravel如何使用Telescope进行调试?(安装和使用教程)  Laravel Eloquent关联是什么_Laravel模型一对一与一对多关系精讲  Microsoft Edge如何解决网页加载问题 Edge浏览器加载问题修复  如何快速生成专业多端适配建站电话?  Laravel怎么自定义错误页面_Laravel修改404和500页面模板  简单实现Android文件上传  Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】  javascript中对象的定义、使用以及对象和原型链操作小结  如何快速启动建站代理加盟业务?  canvas 画布在主流浏览器中的尺寸限制详细介绍  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  使用spring连接及操作mongodb3.0实例  如何用好域名打造高点击率的自主建站?  使用Dockerfile构建java web环境  新三国志曹操传主线渭水交兵攻略  海南网站制作公司有哪些,海口网是哪家的?  HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】  JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)  Laravel API资源类怎么用_Laravel API Resource数据转换  Laravel如何使用withoutEvents方法临时禁用模型事件  Laravel如何实现API版本控制_Laravel版本化API设计方案  如何打造高效商业网站?建站目的决定转化率  Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】  nginx修改上传文件大小限制的方法  音响网站制作视频教程,隆霸音响官方网站?  高防服务器如何保障网站安全无虞?  iOS UIView常见属性方法小结  如何快速生成橙子建站落地页链接?  Laravel如何创建和注册中间件_Laravel中间件编写与应用流程  Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布  PHP 500报错的快速解决方法  如何在 Pandas 中基于一列条件计算另一列的分组均值  如何在服务器上三步完成建站并提升流量?  如何获取PHP WAP自助建站系统源码?  Windows10电脑怎么设置虚拟光驱_Win10右键装载ISO镜像文件