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

node.js调试入门的更多相关文章

  1. Node.js快速入门

    Node.js是什么? Node.js是建立在谷歌Chrome的JavaScript引擎(V8引擎)的Web应用程序框架. 它的最新版本是:v0.12.7(在编写本教程时的版本).Node.js在官方 ...

  2. nodejs学习笔记Node.js 调试命令

    3.4  调试        47  下面是一个简单的例子: $ node debug debug.js < debugger listening on port 5858 connecting ...

  3. Node.js开发入门—HelloWorld再分析

    在Node.js开发入门(1)我们用http模块实现了一个简单的HelloWorld站点,这次我们再来细致分析下代码.了解很多其它的细节. 先看看http版本号的HelloWorld代码: 代码就是这 ...

  4. Node.js核心入门

    前言: 因为以前学习Node.js并没有真正意义上的去学习它,而是粗略的学习了npm的常用命令和Node.js一些模块化的语法,因此昨天花了一天的时间看了<Node.js开发指南>一书.通 ...

  5. node.js调试

    用了几天node.js感觉很新奇,但是调试问题实在是愁煞人,开始的时候懒的学习调试方法,看看异常内容就可以了,但随着代码复杂程度的上升,并不是所有错误都是语法错误了,不调试搞不定了,只好搜搜资料,学习 ...

  6. Node.js开发入门—使用cookie保持登录

    这次来做一个站点登录的小样例,后面会用到. 这个演示样例会用到Cookie.HTML表单.POST数据体(body)解析. 第一个版本号,我们的用户数据就写死在js文件中. 第二个版本号会引入Mong ...

  7. Node.js开发入门—使用AngularJS

    做一个Web应用,一般都有前台和后台,Node.js能够实现后台.利用jade模板引擎也能够生成一些简单的前台页面,但要想开发出具有实际意义的现代Web应用.还得搭配一个Web前端框架. Angula ...

  8. WebStorm配置node.js调试

    最近因为工作关系,一直在做node.js的开发,学习了koa框架,orm框架sequelize,以及swagger文档的配置.但是,最近因为swagger文档使用了es6的修饰器那么个东西(在java ...

  9. Node.js 调试器

    稳定性: 3 - 稳定 V8 提供了强大的调试工具,可以通过 TCP protocol 从外部访问.Node 内置这个调试工具客户端.要使用这个调试器,以debug参数启动 Node,出现提示: % ...

随机推荐

  1. 『题解』洛谷P4016 负载平衡问题

    title: categories: tags: - mathjax: true --- Problem Portal Portal1:Luogu Portal2: LibreOJ Descripti ...

  2. Abp vNext 自定义 Ef Core 仓储引发异常

    问题 在使用自定义 Ef Core 仓储和 ABP vNext 注入的默认仓储时,通过两个 Repository 进行 Join 操作,提示 Cannot use multiple DbContext ...

  3. 学习下ElasticSearch

    ElasticSearch基础概念 Elasticsearch的Head插件安装 Elasticsearch在Centos 7上的安装常见的问题 使用场景:比如分库的情况下,你想统计所有数据的报表,就 ...

  4. docker监控容器

    Weave Scope: 是能够自动生成一张 Docker 容器web动态图的监控软件,能够让我们直观地理解.监控和控制容器. 监控一台主机: 第一步:安装 [root@localhost ~]# c ...

  5. 产品分析:华为短信APP体验的问题和建议

  6. SpringBoot 源码解析 (五)----- Spring Boot的核心能力 - 自动配置源码解析

    在上一篇博客中分析了springBoot启动流程,大体的轮廓只是冰山一角.今天就来看一下springBoot的亮点功能:自动化装配功能. 先从@SpringBootApplication开始.在启动流 ...

  7. suseoj 1208: 排列问题 (STL, next_permutation(A.begin(), A.end()))

    1208: 排列问题 时间限制: 1 Sec  内存限制: 128 MB提交: 2  解决: 2[提交][状态][讨论版][命题人:liyuansong] 题目描述 全排列的生成就是对于给定的字符集或 ...

  8. Flsk&pyecharts 动态数据可视化

    1:数据源 Hollywood Movie Dataset: 好莱坞2006-2011数据集  实验目的: 实现 统计2006-2011的数据综合统计情况,进行数据可视化 gitee地址: https ...

  9. 编写自定义cmake配置文件FindXXX.cmake或者xxx-config.cmake | cmake with user defined entry

    本文首发于个人博客https://kezunlin.me/post/12ab5707/,欢迎阅读! cmake with user defined entry Guide FindXXX.cmake ...

  10. sqlalchemy 源码分析之create_engine引擎的创建

    引擎是sqlalchemy的核心,不管是 sql core 还是orm的使用都需要依赖引擎的创建,为此我们研究下,引擎是如何创建的. from sqlalchemy import create_eng ...