如何在Ubuntu上调试Node.js应用
在Ubuntu上调试Node.js应用有多种高效方法,以下是最常用的三种方案,覆盖从基础到进阶的场景:
这是最基础的调试方式,无需额外工具,适合快速定位问题。
启动调试模式:
在终端中运行以下命令,其中your_script.js是你的入口文件。若需要在代码第一行暂停(方便检查初始状态),用--inspect-brk替代--inspect:
node --inspect your_script.js
成功启动后,终端会输出调试服务器地址(如Debugger listening on ws://127.0.0.1:9229/xxxxxx)。
连接Chrome DevTools:
打开Chrome浏览器,访问chrome://inspect,在“Remote Target”列表中找到你的Node.js应用(显示为“Node.js”或入口文件名),点击“inspect”链接,会打开专用的调试窗口。
调试操作:
your_script.js),点击行号左侧添加断点(红色圆点)。VSCode是Node.js开发的最佳IDE之一,内置强大的调试功能,无需手动配置浏览器。
准备项目:
打开VSCode,通过File > Open Folder导入你的Node.js项目文件夹。
创建launch.json文件:
点击左侧边栏的“Run and Debug”图标(或按Ctrl+Shift+D),点击顶部“create a launch.json file”,选择“Node.js”环境。VSCode会自动生成.vscode/launch.json文件,修改program字段指向你的入口文件(如"${workspaceFolder}/app.js")。
启动调试:
在代码中添加debugger;语句(或直接点击行号左侧设置断点),点击“Run and Debug”面板中的绿色“Run”按钮(或按F5),VSCode会自动启动Node.js进程并附加调试器。此时,你可以像在Chrome DevTools中一样进行断点调试、查看变量、调用堆栈等操作。
Nodemon会在代码修改后自动重启应用,结合调试功能可大幅提升开发效率。
安装Nodemon:
在项目目录下运行以下命令,将其添加为开发依赖:
npm install --save-dev nodemon
配置调试脚本:
在package.json的scripts部分添加debug脚本,使用nodemon启动调试模式(以--inspect为例):
"scripts": {
"debug": "nodemon --inspect app.js"
}
将app.js替换为你的入口文件。
启动调试:
在终端中运行npm run debug,Nodemon会启动Node.js应用并开启调试服务器。此时,你可以用Chrome DevTools或VSCode连接到localhost:9229进行调试。每次修改代码并保存后,Nodemon会自动重启应用,调试器会自动重新附加,无需手动重启。
9229,若被占用,可通过--inspect=端口号(如--inspect=8888)指定其他端口。--inspect-brk时,代码会在第一行暂停,等待调试器连接)。以上方法覆盖了Ubuntu下调试Node.js应用的主要场景,可根据团队习惯或项目需求选择合适的方式。