環境:
遠程系統 : deepIn 15.11
本地系統:windows 7
nodejs : 12.13.0
1.程序部署
將nodejs程序同時放到遠程系統和本地系統
$ tree
.
├── index.js
└── node_modules
└── express
// index.js
'use strict';
const http = require('http');
const express = require('express')(); // express
const serverPort = 9090;
express.get("/test", function (req, res) {
console.debug("0_" + req.url);
res.send('test');
})
// express
express.get("/*", function (req, res) {
console.debug("0_" + req.url);
res.send('*');
})
// Start the server
http.createServer(express).listen(serverPort, function () { // express
console.log('Your server is listening on port %d (http://localhost:%d)', serverPort, serverPort);
});
2.開啟遠程調試
在deepIn中輸入
$ cd /home/dev/Desktop/nodeExpress
$ node --inspect=0.0.0.0:9229 index.js
Debugger listening on ws://0.0.0.0:9229/41716503-9451-45ca-9866-2a450f93a989
For help, see: https://nodejs.org/en/docs/inspector
Your server is listening on port 9090 (http://localhost:9090)
3.本地vscode配置遠程調試
**vscode中打開文件夾本地部署代碼的目錄nodeExpress**
需要配置遠程ip、端口號、本地代碼目錄、遠程代碼目錄
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "attach",
"name": "Attach to Remote",
"address": "192.168.129.164",//TCP/IP address of process to be debugged
"port": 9229,
"localRoot": "${workspaceFolder}",
"remoteRoot": "/home/dev/Desktop/nodeExpress",//Absolute path to the remote directory containing the program
"skipFiles": [
"<node_internals>/**"
]
}
]
}
4.在本地代碼中打斷點調試
本地代碼需要和遠程代碼保持一致,不然可能出現斷點不生效的問題
5.結果