node.js调试入门

1-1 Inspector介绍

使用Inspector调试Node.js的优势

  • 可查看当前上下文的变量
  • 可观察当前函数调用堆栈
  • 不侵入代码
  • 可在暂停状态下执行指定代码

Inspector的构成以及原理

  • WebSockets服务(监听命令)
  • Inspector协议
  • Http服务(获取元信息)


协议:端口/uuid


浏览器输入协议:端口


元信息

1-2 激活调试

如何激活调试

node --inspect xxx

1、创建package.json文件,入口文件为app.js

npm init

2、安装express

npm i express

3、app.js

const express = require('express');
const app = express();

app.get('/', (req, res)=> {
    const a = '123';
    
    return res.send('Hello world!')
});

app.listen(3000, () => console.log('程序运行在3000端口了'))

激活调试后会发生什么

  • node进程通过websockets监听调试信息
ws://127.0.0.1:9229/ef7f4fc1-d711-4ea1-bd63-3c5db5cccaf5

ws: websocket
host:端口/uuid
uuid: 这个进程独有的

  • 启动一个Http 服务,提供元信息

host:端口/json 查看元信息

127.0.0.1:9229/json

如何调试没有激活的node.js程序

LinuxOSX上,可以监听到SIGUSER1发送的调试信息

SIGUSER1: SIG->signore信号

1-3 调试客户端

1.3.1 调试客户端是什么

  • 连接到Node.js Inspector的工具
  • 商业和开源工具都有

1.3.2 调试客户端有哪些?如何使用它们?

chrome

1、Chrome DevTools 55+

  • 访问chrome://inspect, 点击配置按钮,确保host和port对应


点击inspect

2、访问元信息中的devtoolsFrontendUrl

3、点击绿色小按钮

2.VS Code

1、启动方式:按F5

2、配置lauch.json
带参数的node

lauch.json

3、调试动作
4、数据展现
5、Log Point
6、REPL

3.其他(IDE)

1-4 命令行参数

https://nodejs.org/en/docs/guides/debugging-getting-started/

  1. --inspect
  2. --inspect=[host:port]
  3. --inspect-brk
  4. --inspect-brk=[host:port]
  5. node inspect script.js
  6. node inspect --port=xxxx script.js

debugger(调试器)
http://nodejs.cn/api/debugger.html

posted @ 2019-09-09 23:05  qiqi715  阅读(349)  评论(0编辑  收藏  举报