调试你的node.js程序(一)

AlgoLuminary
• 阅读 3500

使用node.js开发已经有一段时间了,最开始的调试是使用工具node-inspector;不过node-inspector已经很长一段时间不能用了。 现在要调试node.js程序需要使用新的方式。
新的调试的方式有很多种,本文将介绍一种简单直接的方式。

使用 --inspect启动nodejs程序

有很多工具可以调试nodejs 程序,但是如果不想使用任何工具,而是手动启用调试,只需要在启动nodejs程序的时候加上 --inspect标记,

node   --inspect app.js

此时nodejs便启动了调试模式,并打印出调试的url地址,如下:

Debugger listening on port 9229.
Warning: This is an experimental feature and could change at any time.
To start debugging, open the following URL in Chrome:
    chrome-devtools://devtools/remote/serve_file/@60cd6e859b9f557d2312f5bf532f6aec5f284980/inspector.html?experiments=true&v8only=true&ws=localhost:9229/13e392f6-51aa-4c0b-9364-393911748471

以上这段英文的意思是,调试模式监听端口是9229, 要开始调试,在chrome中打开下文中的url地址即可:

chrome-devtools://devtools/remote/serve_file/@60cd6e859b9f557d2312f5bf532f6aec5f284980/inspector.html?experiments=true&v8only=true&ws=localhost:9229/13e392f6-51aa-4c0b-9364-393911748471

在chrome中打开浏览器地址,结果如下:

调试你的node.js程序(一)

可以看到改界面有三个tab页:

在Sources 标签页断点调试

点开Sourcest标签页,即可以开始断点调试了。

调试你的node.js程序(一)

在console标签页查看程序打印结果

在console标签页,可以查看程序的打印输出结果,如下图:

调试你的node.js程序(一)

Profiles标签调试程序性能

另外一个重要的标签页是Profile,在该标签下,可以调试程序的性能:

调试你的node.js程序(一)

可以记录CPU 和内存的使用情况,通过该功能可以查找出程序的内存泄漏和性能瓶颈等,具体就不详细叙述了。

点赞
收藏
评论区
推荐文章
美凌格栋栋酱 美凌格栋栋酱
6个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
刘望舒 刘望舒
4年前
Android AOSP基础(五)Android Studio调试系统源码的三种方式
AOSP基础Android框架层本文首发于微信公众号「刘望舒」前言作为应用开发,我们将AOSP源码下载下来后,去查看源码已经足够用,如果想更进一步,可以学习调试源码,这样有助于了解系统源码和原理。调试系统源码的方式有很多种,今天分享出来的是比较适合应用开发的三种,分别是AOSP源码项目调试、导入部分源码调试、新建Android项目调试。需要注意的是,这三
liam liam
1年前
Postman 调试微信支付接口教程,一看就会
前期准备在使用Postman调试微信支付接口之前,你需要做好以下准备:安装客户端应用,或使用网页版;成为;已申请。当你已经具备这三个条件,就可以进入微信支付接口调试之旅了脚本导入方式一:通过fork方式为了帮助商户开发者快速上手,微信官方将调试微信支付接口
Stella981 Stella981
3年前
Android 11 的无线调试简直不要太好用
前言大家应该知道,之前写过一篇旧文:你知道adb的无线方式开发模式吗,不过今天想跟大家介绍一下Android11的无线调试有了新的变化。旧文介绍的无线调试模式,第一次使用需要先连接usb线来完成手机跟电脑的无线调试,而且每次都得这样的重复操作(想象一下每天早上上班都得先通过usb线连接一次)。而
Stella981 Stella981
3年前
Node.js简介及如何学习Node.js
本文介绍Node.js的诞生史以及如何学习Node.js。Node.js简史从Node.js的命名上可以看到,Node.js的官方开发语言是JavaScript。之所以选择使用JavaScript,显然与JavaScript的开发人员多有关。总所周知,JavaScript是伴随着互联网的发展而火爆起来的,JavaScript也是前
Stella981 Stella981
3年前
NodeJs在windows上安装配置测试
Node.js简介简单的说Node.js就是运行在服务端的JavaScript。Node.js是一个基于ChromeV8引擎的JavaScript运行环境。Node.js使用了一个事件驱动、非阻塞式I/O的模型,使其轻量又高效。Node.js的包管理器npm,是全球最大的开源库生态系统。安装环境本机系统:Windo
Wesley13 Wesley13
3年前
vivo Y71的USB调试模式在哪里,开启vivo Y71USB调试模式的流程
就在我们使用安卓手机通过数据线连接到电脑的时候,如果手机没有开启usb开发者调试模式,电脑则没能成功识别我们的手机,部分工具也没能正常使用,此情况我们需要找解决方法将手机的usb开发者调试模式打开,以下内容我们讲解vivoY71如何开启usb开发者调试模式的方法。首先,在vivoY71应用程序界面点中“设置”ICON,进入vivoY71系统“设置”
Stella981 Stella981
3年前
Failed to connect to Standalone V8 VM 以及 不走断点 解决方法
最近在研究Node.js在调试的时候我使用了ChromeDevtools首次调试成功但是之后一直报异常,Google了半天也没找到答案,后来顺藤摸瓜的解决了:FailedtoconnecttoStandaloneV8VM由于V8的版本不同,可能在
Stella981 Stella981
3年前
Node.js 中使用 ECDSA 签名遇到的坑
文/Fenying最近有个朋友问我关于Node.js下使用ECDSA的问题,主要是使用Node.js的Crypto模块无法校验网络传输过来的签名结果。在踩坑无数后,终于搞清楚了原因。坑0x00:签名输出格式在排除了证书、消息不一致的可能之后,我开始对比使用Node.js签名的结果与网络传输过来的签
Stella981 Stella981
3年前
NVM、NPM、Node.js的安装选择
在安装和使用这三种工具时,我们有很多方式可以选择,这些方法各有优劣,每个人都有自己用起来比较习惯的配置,所以我在这里记录下自己比较习惯的一种安装方式与其他一些可能的选项。NVM、NPM、Node.js的关系假定我们的最终目的是为了安装并使用Node.js,那么我们有两种常规的选择:Node.js安装包
子桓 子桓
1年前
Wing Pro 9 注册码安装教程:Mac版Python集成开发工具
WingIDEProforMac功能特点1、强大的调试器Wing的调试器可以轻松修复错误并以交互方式编写新代码。使用条件断点来隔离问题,然后逐步执行代码,检查数据,观察值,从Debugprobe的命令行进行交互,以及递归调试。您可以调试从IDE启动的多进程