当前位置: 首页 > news >正文

Node.js + Chrome DevTools 完整联调详细步骤

本地调试(Node + Chrome DevTools 标准流程)

步骤 1:终端启动 Node 并开启调试监听

  1. 打开终端(CMD/PowerShell/ 终端),进入 demo.js 所在文件夹
  2. image
  3. 注意:要在代码编辑区右键,“打开于”->"终端",然后才会打开正确的终端,如下所示:
  4. image
  5. 执行启动命令(二选一):
    • 普通调试(代码正常运行,遇到断点暂停):
       
      node --inspect demo.js
    • 首行暂停(代码执行前直接断住,适合调试初始化逻辑)推荐新手
       
      node --inspect-brk demo.js
       
  6. 终端输出示例(代表启动成功):
    Debugger listening on ws://127.0.0.1:9229/xxxx-xxxx-xxxx
    For help, see: https://nodejs.org/en/docs/inspector
    默认调试端口:9229
  7. image

步骤 2:Chrome 连接调试器

  1. 打开 Chrome 浏览器,地址栏输入:
     
    chrome://inspect
    image
    我使用的是微软的Edge浏览器。
     
  2. 进入 Inspect devices 页面,分两种连接方式:

    方式 A:专用调试窗口(推荐)

    页面顶部点击 Open dedicated DevTools for Node,直接打开独立调试面板。

    方式 B:手动选择目标

    下滑找到 Remote Target 区域,能看到 demo.js + 127.0.0.1:9229
     
    点击后方 inspect,弹出 DevTools 调试窗口。
    image
    注意:这个窗口要等待一段时间才会跳出来。
    image
     

步骤 3:Sources 面板核心调试操作

调试窗口默认定位到 Sources 面板(调试主界面),分三大区域:
  1. 左侧文件列表
    • 展开 file://,找到并点开 demo.js,代码展示在中间编辑区。
  2. 中间代码区(断点操作)
    • 行号断点:点击代码左侧行号,出现蓝色箭头 = 断点生效;再次点击取消。
       
      示例:在 let b = x * 2; 这一行打个断点。
    • 代码内硬断点:在代码中写入 debugger;,运行到此行自动暂停:
      function calc(x) {debugger; // 自动断点let b = x * 2;
      }
       
    • 条件断点:右键行号 → Add conditional breakpoint,输入表达式(例:x>10),仅条件成立时暂停。
  3. 右侧调试控制区 + 变量区
     
    顶部一排按钮(附快捷键,Windows/Linux):
    表格
    按钮 功能 快捷键
    ▶️ 继续执行 跳到下一个断点 F8
    ⏭️ 单步跳过 执行当前行,不进入函数内部 F10
    ⏬️ 单步进入 进入当前行调用的函数内部 F11
    ⏫️ 单步跳出 跳出当前函数,回到上层调用处 Shift+F11
    ⏹️ 强制暂停 任意时刻中断代码执行 -
    下方区域:
    • Watch:手动添加变量 / 表达式,实时查看值(点击 + 输入 ab
    • Call Stack:调用栈,查看代码执行链路
    • Scope:作用域,自动展示当前局部变量、全局变量

步骤 4:实操调试流程(跟着走一遍)

  1. 代码停在断点处,在 Scope 里查看 x=20、外层 a=10
  2. F10 单步执行,观察 b 被赋值为 40
  3. 再按 F10c 赋值为 50
  4. F8 继续运行,代码走完,终端输出 结果:50
  5. 调试完成,关闭 DevTools,终端按 Ctrl+C 终止 Node 进程。
http://www.gsyq.cn/news/1395789.html

相关文章:

  • 避坑指南:用Qt开发蓝牙上位机时,那些官方文档没细说的信号槽和内存管理
  • 沙利鲁单抗Kevzara常见副作用为上呼吸道感染中性粒细胞减少及注射部位反应
  • FPGA高速并行BCH纠错方案:架构优化与工程实践
  • 普宁锤子看房锤子哥陈楚周: 从北京一无所有,到普宁房产中介行业翘楚 - 品牌观察
  • 为什么金融企业更倾向于选择全栈国产化Agent方案?金融数字化转型指南
  • 小白程序员必看:收藏这份AI大模型学习路线,轻松提升职场竞争力!
  • 哪家小程序开发工具性价比高?
  • 终极指南:如何将Nvidia DLSS-G帧生成替换为AMD FSR 3技术
  • 2026台州黄金回收门店实测|三家靠谱上门回收品牌 - 资讯速览
  • 基于PUF与DICE的物联网设备硬件可信根架构设计与实现
  • 从实体深耕到AI革新,解读槐舜科技的品牌进阶之路
  • Proteus 8.13仿真DHT11温湿度报警系统:从零搭建到按键调试(附完整源码)
  • 基于VS-BEAM与卷积自编码器的脑肿瘤MRI智能诊断方法解析
  • 你还在用Excel管理Lindy项目交付节点?这6个冷门但致命的自动化断点正悄悄拖垮你的SLA
  • 一次 MySQL 连接数被打满,我花了一晚上重构了订单查询
  • 【Unity开发字典】分包、黏包基本概念和处理逻辑实现
  • 别再为STM32串口打印发愁了!HAL库下三种printf重定向方案实测对比(含MicroLIB配置)
  • 基于Transformer的多粒度序列生成:攻克层次化图像分类两大难题
  • 离散模型解析嵌入式束缚态与法诺共振:从原理到光子器件设计
  • AI提示词大师:安装与配置,反推、扩写、词库管理,告别四处翻找,所有提示词尽在掌握。
  • Realtek r8125 DKMS驱动:Linux 2.5G网卡自动适配终极指南
  • 前沿话题:深度学习、3DGS、语义SLAM与多传感器融合
  • 2026触摸屏PLC一体机品牌市场口碑排行榜深度解析
  • GLM-5.1 高速版:400 tokens/s 刷新全球大模型速度上限
  • 专业Windows 11系统优化:使用Win11Debloat实现高效性能与隐私保护
  • 别再对着空白文档发呆了!书匠策AI让你的毕业论文从“一片空白“到“初稿落地“只需十分钟
  • 绿电直连+微电网+虚拟电厂+源网荷储:未来电力系统的四大支柱
  • 不止于GUI:用Intel MAS命令行在Windows上批量自动化获取多块NVMe SSD信息
  • 支持4K/60fps长时序生成,原生多模态对齐,Sora 2正式版技术白皮书关键参数逐条拆解,不看必踩交付雷区
  • 2026徐州黄金回收深度指南:品类定价全解析+5家靠谱服务商+避坑实操技巧 - 寻茫精选