在 Debian 上进行 JavaScript 调试的实用指南
一 环境准备
sudo apt update && sudo apt install nodejs npmsudo apt install ./<file>.deb二 调试 Node.js 后端
node --inspect app.jsnode --inspect-brk app.jsnode --inspect=8888 app.js(默认端口 9229)chrome://inspect → 点击 Open dedicated DevTools for Node → 选择目标进行断点、单步、观察表达式。{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Launch App",
"program": "${workspaceFolder}/app.js",
"skipFiles": ["<node_internals>/**"]
}
]
}
nodemon --inspect app.js(代码变更自动重启并保持调试会话)。npm install debugconst debug = require('debug')('myapp');
debug('启动完成,端口=%d', 3000);
DEBUG=myapp node app.js(可用命名空间如 myapp:* 控制输出)。三 调试前端浏览器 JS
npm run dev 或静态服务器),确保可通过 http://<服务器IP>:<端口> 访问。console.log 输出。google-chrome --remote-debugging-port=9222 --user-data-dir=/tmp/chrome-profile
curl http://localhost:9222/json/list
Page.navigate、Runtime.evaluate)进行自动化调试与分析。四 日志与错误定位
console 输出重定向)。/var/log/nginx/error.log/var/log/apache2/error.log/var/log/syslogtail -f /var/log/nginx/error.logERROR、Exception)。五 常见问题与排查
node --inspect=8888 app.js,再在 DevTools 中连接到 localhost:8888。program 路径是否正确;确保未使用已打包/编译后的代码路径。skipFiles 忽略 node_internals。lsof -i:9222 → kill <PID>;重启 Chrome 时更换端口。