前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >第六十六期:奇怪的知识,用命令行调试Node程序

第六十六期:奇怪的知识,用命令行调试Node程序

作者头像
terrence386
发布2022-07-15 10:41:47
2740
发布2022-07-15 10:41:47
举报
文章被收录于专栏:JavaScript高级程序设计

命令行调试Node

在某些情况下,用Chrome Devtool进行调试可能不太方便,或者我们连接GUI不是特别容易,比如用浏览器调试移动应用。

这种情况下,用命令行进行调试似乎就会变的很重要了。

执行如下命令,我们可以让Node 程序进入调试模式:

代码语言:javascript
复制
node debug index.js

我们可以看下图:

进入调试模式后,我们首先可以看到入口文件的前三行内容。

进入调试模式,进程在入口文件的第一行处默认暂停。默认情况下,当出现断点时,调试器会在当前代码行之前和之后显示两行代码,因为这时我们只看到后面两行的第一行代码。

调试模式默认提供了很多方法:比如我们可以用list方法获取上下文。

代码语言:javascript
复制
debug> list(10)

这样我们可以从当前行前后都多看到10行内容。

但是如何给我们想要的代码加上断点呢?我们可以使用sb(n)方法,sb 代表 set break 。比如:

代码语言:javascript
复制
debug> sb(7)

然后我们重新执行list(10)

可以看到7行多了一个星号*。

然后我们执行命令c,让程序继续往下走。

代码语言:javascript
复制
debug> c

接下来我们执行下面的命令,当然也可以打开浏览器输入地址:http://localhost:3000/31

代码语言:javascript
复制
$ curl http://localhost:3000/31

这样就会触发我们在代码中设置的断点。

想要进入这个断点,我们需要执行step命令。

代码语言:javascript
复制
debug> step

这样我们就进入了past.js文件中。

我们可以使用exec命令打印出引用值。

代码语言:javascript
复制
debug> exec gap

比如,我们可以打印gap和age的值。

打印完成后,我们希望跳出past.js文件。

这时候我们需要执行out 命令。

代码语言:javascript
复制
debug> out

我们可以看到断点又回到了index.js,同时,future方法被标记成了绿色,表明接下来要执行的就是它。

我们继续执行step命令,进入future.js文件。

同样的,执行exec gap,即可打印出我们想要打印的内容。

可以看到,age 是一个undefined。

以上就是用命令行调试Node 程序的一个简单的流程。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-02-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 JavaScript高级程序设计 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档