Node.js 内置调试功能使用指南

作者:终端旅客时间:2026-10-22 12:45:36浏览:95

本文介绍了从 Node.js 6.3 版本开始支持的内置调试功能。通过添加 --inspect 或 --inspect-brk 参数启动 Node 进程,可连接 Chrome 浏览器进行代码调试。文章详细演示了基础调试流程,并提供了在 Mocha 测试框架中启用调试的具体命令示例,帮助开发者高效排查 Node.js 应用问题。

Node.js 内置调试功能概述

自 Node.js 6.3 版本起,Node 环境已原生支持类似 node-inspect 的调试功能。只需在执行 JavaScript 代码时添加 --inspect 参数,即可利用 Chrome 浏览器进行代码调试。

本文演示所使用的工具环境如下:

  • Node.js v9.5.0
  • Chrome 64

基础调试流程演示

首先准备待调试的代码。若仅为学习目的,可使用以下测试代码:


var objectRegExp = /^\[object (\S+)\]$/;
function gettype(obj) {
 var type = typeof obj;
 if (type !== 'object') {
  return type;
 }
 // inspect [[Class]] for objects
 return toString.call(obj)
  .replace(objectRegExp, '$1');
}
gettype({})
gettype(function(){})

运行该代码时,需附加 --inspect-brk 参数。


node --inspect-brk a.js

系统将输出如下提示信息:


Debugger listening on ws://127.0.0.1:9229/84960765-5abc-4236-a7c6-924f99c34ed7

打开浏览器,在地址栏输入:


chrome://inspect/#devices

页面显示如下内容:


Remote Target
#LOCALHOST
Target (v9.5.0)
a.js
file:///Users/lcj/Documents/github/express/a.js
inspect

点击最后一行的 inspect 链接,即可弹出新的调试窗口。此时代码已加载至 Chrome 调试器中,在执行命令的控制台上可见:


Debugger attached.

现在,可以通过点击调试器内的 Run、Step、Step Into 等按钮进行调试操作。

Mocha 测试用例调试方法

对于未直接通过 Node 执行的代码,例如使用 Mocha 运行的测试用例,该如何处理?Mocha 同样支持这些选项。以 Express 使用 Mocha 进行单元测试为例,可通过以下命令进行调试:

mocha --require test/support/env --reporter spec --bail --check-leaks --no-exit test/app.router.js --inspect-brk -g 'should decode correct params'

作者最新文章