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

使用 node --inspect 命令调试js文件执行

深入理解 Node.js 的 --inspect 调试功能

引言

Node.js 是一个流行的 JavaScript 运行环境,它允许开发者在服务器端运行 JavaScript 代码。随着应用的复杂性增加,调试成为了开发过程中不可或缺的一部分。Node.js 提供了强大的调试工具,其中 --inspect 选项是探索和调试应用的关键。

什么是 --inspect

--inspect 是 Node.js 的一个命令行选项,它允许开发者在启动应用时启用 V8 调试器。这个调试器是一个内置的调试工具,可以与 Chrome DevTools 集成,提供了一系列调试功能,如断点、堆栈跟踪、变量检查等。

如何使用 --inspect

使用 --inspect 非常简单。你只需要在启动 Node.js 应用时添加这个选项。例如:

node --inspect app.js

这将启动你的 app.js 应用,并在默认的调试端口(通常是 9229)上开启调试会话。

与 Chrome DevTools 集成

一旦启用了 --inspect,你可以使用 Chrome DevTools 来连接到你的 Node.js 应用。以下是步骤:

  1. 打开 Chrome 浏览器。
  2. 访问 chrome://inspect
  3. 在 “Remote Target” 部分,你会看到你的 Node.js 应用。
  4. 点击 “inspect” 链接,一个新的 Chrome DevTools 窗口将会打开,连接到你的应用。

调试技巧

  • 设置断点: 在代码中你想要暂停执行的地方设置断点。
  • 查看变量: 在调试时,你可以查看当前作用域内的变量值。
  • 单步执行: 使用单步执行来逐行运行代码,观察程序的行为。
  • 调用堆栈: 查看当前的调用堆栈,了解函数是如何被调用的。

调试异步代码

Node.js 的异步特性可能会使调试变得复杂。但是,通过 --inspect,你可以设置断点在异步函数中,甚至在回调函数中。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【LeetCode】day18:530 - 二叉搜索树的最小绝对差, 501 - 二叉搜索树中的众数, 236 - 二叉树的最近公共祖先
  • python爬虫Selenium模块及测试案例详解
  • 大语言模型-Transformer-Attention Is All You Need
  • 如何发一篇顶会论文? 涉及3D高斯,slam,自动驾驶,三维点云等等
  • 学生管理系统(C语言)(Easy-x)
  • [python]pycharm设置清华源
  • WEB前端09-前端服务器搭建(Node.js/nvm/npm)
  • 【引领未来智造新纪元:量化机器人的革命性应用】
  • npm 或者yarn下载依赖卡顿报错 sill idealTree buildDeps
  • [Redis]典型应用——分布式锁
  • BGP笔记的基本概要
  • 开源模型应用落地-FastAPI-助力模型交互-进阶篇-RequestDataclasses(三)
  • HTML5应用的安全防护策略与实践
  • 设计模式11-原型模式
  • 中文诗歌生成
  • 2019年如何成为全栈工程师?
  • Android开发 - 掌握ConstraintLayout(四)创建基本约束
  • const let
  • django开发-定时任务的使用
  • ECMAScript 6 学习之路 ( 四 ) String 字符串扩展
  • egg(89)--egg之redis的发布和订阅
  • ERLANG 网工修炼笔记 ---- UDP
  • Flannel解读
  • java中的hashCode
  • python 装饰器(一)
  • spring-boot List转Page
  • SpringCloud集成分布式事务LCN (一)
  • swift基础之_对象 实例方法 对象方法。
  • 读懂package.json -- 依赖管理
  • 记一次和乔布斯合作最难忘的经历
  • 简析gRPC client 连接管理
  • 精益 React 学习指南 (Lean React)- 1.5 React 与 DOM
  • 码农张的Bug人生 - 见面之礼
  • 前端技术周刊 2019-01-14:客户端存储
  • 问:在指定的JSON数据中(最外层是数组)根据指定条件拿到匹配到的结果
  • 延迟脚本的方式
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件
  • 在Mac OS X上安装 Ruby运行环境
  • 栈实现走出迷宫(C++)
  • postgresql行列转换函数
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • ​flutter 代码混淆
  • #设计模式#4.6 Flyweight(享元) 对象结构型模式
  • (173)FPGA约束:单周期时序分析或默认时序分析
  • (C++二叉树05) 合并二叉树 二叉搜索树中的搜索 验证二叉搜索树
  • (附源码)ssm高校升本考试管理系统 毕业设计 201631
  • (附源码)ssm教材管理系统 毕业设计 011229
  • (九)One-Wire总线-DS18B20
  • (七)glDrawArry绘制
  • (七)微服务分布式云架构spring cloud - common-service 项目构建过程
  • (十三)Java springcloud B2B2C o2o多用户商城 springcloud架构 - SSO单点登录之OAuth2.0 根据token获取用户信息(4)...
  • (四)【Jmeter】 JMeter的界面布局与组件概述
  • (一)UDP基本编程步骤
  • (原创)Stanford Machine Learning (by Andrew NG) --- (week 9) Anomaly DetectionRecommender Systems...
  • ******之网络***——物理***