登录      注册
 找回密码

QQ登录

只需一步,快速开始

查看: 12883|回复: 0

如何调试Node业务代码及其源码?这些方式你都知道吗?

[复制链接]
发表于 2019-12-3 09:40:23 | 显示全部楼层 |阅读模式

目前,Node在前端的开发中已经运用的十分广泛了,它主要用于开发Node服务和Node工具,无论哪一种在开发的时候都离不开调试!最原始的调试办法是加console.log,然后在控制台查看打印的信息,这种方式调试很慢而且很难兼顾上下文,所以我们能不能像调试页面一样在浏览器中调试Node业务代码甚至Node源码呢?下面我分享几个常用的便捷方法。

第一种方式

建一个业务代码文件demo.js,运行以下命令:

//9229是调试端口

node --inspect-brk=9229 demo.js

现在我们用chrome打开chrome://inspect这个地址

QQ截图20191203093154.png
在图1红色区域中点击inspect,就会弹出一个debug工具,
QQ截图20191203093220.png

这个界面和平时我们调试web的devtools几乎一毛一样,现在我们就能按照平时调试web的习惯去调试Node了。

第二种方式

全局安装一个npm模块ndb

npm install ndb -g

然后用ndb命令去运行业务代码文件

ndb demo.js

//或者

ndb node demo.js

之后会弹出一个界面

QQ截图20191203093238.png |

和第一种方式一样,直接就可以在这个界面debug。

第三种方式

利用vscode调试node代码

如果你没有在用vscode,那就安装一个吧,毕竟是当下最流行的开发工具。

装完之后,加入你的工程代码
QQ截图20191203093258.png

首先点击图4中的1号图案(像个乌龟),再点击图2设置按钮,会弹出一个配置文件,如下:
QQ截图20191203093319.png

调试Node中js源码部分

Node主要是用js和c++开发的,底层是c++,开发了一些能力,上面的js是调用这些能力封装了一些逻辑,我更关注js部分的逻辑,那如何debug Node的源码呢?

首先从github上下载node源码,下载完成后,进入node源码的工程下,创建一个文件build.sh,加入下面的内容:

#!/bin/bash

./configure --debug

make -C out BUILDTYPE=Debug -j 4

以上完成过后,运行一下这个脚本

sh build.sh

第一次运行时间比较长,大家可以出去逛个超市跑个步什么的!

运行完成后,会生成一个out目录,在out/Debug/下会生成一个debug版本的node可执行程序,用此node代替全局命令里面的node,并采用以上三种方式就可以debug进node源码中了!
QQ截图20191203093345.png

运行图9中的命令,在业务代码中就可以debug进node源码中,如图10(stream模块源码)。

总结

这篇文章介绍了三种调试方式,其实还有一些其他的方式没说,不过已经够用了!第一种方式最常见,但是我比较喜欢第二种方式,它会自动打开debug工具,非常方便,不过非常占电脑内存!大家有什么更好的调试方法可以在评论区发表建议!












上一篇:卖这种虚拟产品赚钱的项目,新手小白也能玩得转!
下一篇:淘宝天猫视频批量下载源码

QQ|网站地图|Archiver|手机版|巨力网赚论坛 ( 京ICP备05085363号-1

GMT+8, 2019-12-12 03:04

Powered by Discuz! X3.3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表