1、代码
>mkdir test & cd test
>npm init -y
>npm i koa koa-route --save
>touch app.js
app.js:
const Koa = require('koa');
const router = require('koa-route');
const app = new Koa();
const main = ctx => {
ctx.response.body = 'Hello World';
};
const welcome = (ctx, name) => {
ctx.response.body = 'Hello ' + name;
};
app.use(router.get('/', main));
app.use(router.get('/:name', welcome));
app.listen(3000);
console.log('listening on port 3000');
2、启动
>node --inspect app.js
或者
>node --inspect-brk=9239 app.js //默认端口9229,可指定端口启动多个
3、Chrome启动
1)
在Chrome浏览器里输入http://localhost://3000,打开Chrome开发者工具,点击绿色按钮。
![](https://img.haomeiwen.com/i9772012/4d457fd89a2594d3.png)
2)
在浏览器中输入 chrome://inspect/
![](https://img.haomeiwen.com/i9772012/f3d31aab1faa206b.png)
点击inspect按钮进入调试界面,点击source进界面,点击11边框,在对应的行打下断点。
![](https://img.haomeiwen.com/i9772012/d575a42a229d18c6.png)
在浏览器输入http://localhost:3000/account
![](https://img.haomeiwen.com/i9772012/da3c7aec614bd9cf.png)
左边的调试工具,执行跳出函数,在console窗口打印变量值Hello account。
4、忘记加参数--inspect
如果启动服务忘记加参数--inspect,可以通过以下方式启动
>node app.js
>ps aux |grep app.js
![](https://img.haomeiwen.com/i9772012/95d0005da6dd9a40.png)
执行命令
>node -e 'process._debugProcess(935)' //其中935为进程号。
或者
>kill -SIGUSR1 935 //nodejs定义SIGUSR1信号陷入debug模式。常见信号
注意:通过pm2方式启动服务没有带--inspect也可以通过这种方式将服务陷入debug模式。
5、vscode调试
打开app.js文件,点击调试-->启动调试。服务会陷入debug模式,打断点,通过浏览器输入http://localhost:3000,程序在断点停止,然后通过调试工具调试即可。
![](https://img.haomeiwen.com/i9772012/c4aa562331c9594b.png)
网友评论