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程序
在Linux和OSX上,可以监听到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/

- --inspect
- --inspect=[host:port]
- --inspect-brk
- --inspect-brk=[host:port]
- node inspect script.js
- node inspect --port=xxxx script.js
debugger(调试器)
http://nodejs.cn/api/debugger.html

node.js调试入门的更多相关文章
- Node.js快速入门
Node.js是什么? Node.js是建立在谷歌Chrome的JavaScript引擎(V8引擎)的Web应用程序框架. 它的最新版本是:v0.12.7(在编写本教程时的版本).Node.js在官方 ...
- nodejs学习笔记Node.js 调试命令
3.4 调试 47 下面是一个简单的例子: $ node debug debug.js < debugger listening on port 5858 connecting ...
- Node.js开发入门—HelloWorld再分析
在Node.js开发入门(1)我们用http模块实现了一个简单的HelloWorld站点,这次我们再来细致分析下代码.了解很多其它的细节. 先看看http版本号的HelloWorld代码: 代码就是这 ...
- Node.js核心入门
前言: 因为以前学习Node.js并没有真正意义上的去学习它,而是粗略的学习了npm的常用命令和Node.js一些模块化的语法,因此昨天花了一天的时间看了<Node.js开发指南>一书.通 ...
- node.js调试
用了几天node.js感觉很新奇,但是调试问题实在是愁煞人,开始的时候懒的学习调试方法,看看异常内容就可以了,但随着代码复杂程度的上升,并不是所有错误都是语法错误了,不调试搞不定了,只好搜搜资料,学习 ...
- Node.js开发入门—使用cookie保持登录
这次来做一个站点登录的小样例,后面会用到. 这个演示样例会用到Cookie.HTML表单.POST数据体(body)解析. 第一个版本号,我们的用户数据就写死在js文件中. 第二个版本号会引入Mong ...
- Node.js开发入门—使用AngularJS
做一个Web应用,一般都有前台和后台,Node.js能够实现后台.利用jade模板引擎也能够生成一些简单的前台页面,但要想开发出具有实际意义的现代Web应用.还得搭配一个Web前端框架. Angula ...
- WebStorm配置node.js调试
最近因为工作关系,一直在做node.js的开发,学习了koa框架,orm框架sequelize,以及swagger文档的配置.但是,最近因为swagger文档使用了es6的修饰器那么个东西(在java ...
- Node.js 调试器
稳定性: 3 - 稳定 V8 提供了强大的调试工具,可以通过 TCP protocol 从外部访问.Node 内置这个调试工具客户端.要使用这个调试器,以debug参数启动 Node,出现提示: % ...
随机推荐
- Redis必备面试题《基础篇》
Date:2019-11-12 读前思考: 面试官会问什么样的问题? 所问的问题背后真实的套路是什么? 喜欢问Redis哪些问题? 如何顺畅回答面试问的问题?吊打面试官. 1.什么是Redis? Re ...
- 015.Kubernetes二进制部署所有节点kubelet
一 部署 kubelet kubelet 运行在每个 worker 节点上,接收 kube-apiserver 发送的请求,管理 Pod 容器,执行交互式命令,如 exec.run.logs 等. k ...
- 领扣(LeetCode)两个数组的交集II 个人题解
给定两个数组,编写一个函数来计算它们的交集. 示例 1: 输入: nums1 = [1,2,2,1], nums2 = [2,2] 输出: [2,2] 示例 2: 输入: nums1 = [4,9,5 ...
- .NET进阶篇06-async异步、thread多线程3
知识需要不断积累.总结和沉淀,思考和写作是成长的催化剂 梯子 一.任务Task1.启动任务2.阻塞延续3.任务层次结构4.枚举参数5.任务取消6.任务结果7.异常二.并行Parallel1.Paral ...
- (三十六)golang--文件的基本操作
文件程序中是以流的形式操作的. 流:数据在数据源(文件)和程序(内存)之间经历的路径: 输入流:数据从数据源到程序的路径: 输出流:数据从程序到数据源的路径: 常用的文件操作和函数: 1.常用的文件操 ...
- 2018092609-2 选题 Scrum立会报告+燃尽图 02
此作业要求参见:[https://edu.cnblogs.com/campus/nenu/2019fall/homework/8683] 一.小组情况组长:迟俊文组员:宋晓丽 梁梦瑶 韩昊 刘信鹏队名 ...
- NN入门,手把手教你用Numpy手撕NN(三)
NN入门,手把手教你用Numpy手撕NN(3) 这是一篇包含极少数学的CNN入门文章 上篇文章中简单介绍了NN的反向传播,并利用反向传播实现了一个简单的NN,在这篇文章中将介绍一下CNN. CNN C ...
- vue防抖节流之v-debounce--throttle使用指南
最新封装了一个vue防抖节流自定义指令,发布到npm上,有用欢迎star,谢谢! npm地址:https://www.npmjs.com/package/v-debounce-throttle git ...
- scrapy抓取中国新闻网新闻
目标说明 利用scrapy抓取中新网新闻,关于自然灾害滑坡的全部国内新闻:要求主题为滑坡类新闻,包含灾害造成的经济损失等相关内容,并结合textrank算法,得到每篇新闻的关键词,便于后续文本挖掘分析 ...
- 【决战西二旗】|理解Sort算法
前言 前面两篇文章介绍了快速排序的基础知识和优化方向,今天来看一下STL中的sort算法的底层实现和代码技巧. 众所周知STL是借助于模板化来支撑数据结构和算法的通用化,通用化对于C++使用者来说已经 ...