如何在Ubuntu上调试Node.js应用
如何在Ubuntu上调试Node.js应用
在Ubuntu上调试Node.js应用有多种高效方法,以下是最常用的三种方案,覆盖从基础到进阶的场景:
一、使用Node.js内置调试器(命令行+Chrome DevTools)
这是最基础的调试方式,无需额外工具,适合快速定位问题。
-
启动调试模式:
在终端中运行以下命令,其中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”链接,会打开专用的调试窗口。 -
调试操作:
- 设置断点:在DevTools的“Sources”面板中,找到你的代码文件(如
your_script.js
),点击行号左侧添加断点(红色圆点)。 - 控制执行:使用顶部工具栏的按钮(或快捷键)控制执行流程:
- Resume(F8):恢复执行,直到下一个断点;
- Step Over(F10):执行当前行,不进入函数内部;
- Step Into(F11):进入当前行的函数内部;
- Step Out(Shift+F11):跳出当前函数。
- 查看变量:在“Scope”面板中查看当前作用域的变量值,或在“Console”中直接输入变量名查看实时值。
- 设置断点:在DevTools的“Sources”面板中,找到你的代码文件(如
二、使用Visual Studio Code(推荐)
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会在代码修改后自动重启应用,结合调试功能可大幅提升开发效率。
-
安装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应用的主要场景,可根据团队习惯或项目需求选择合适的方式。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何在Ubuntu上调试Node.js应用
本文地址: https://pptw.com/jishu/726117.html