命令行调试Node
在某些情况下,用Chrome Devtool进行调试可能不太方便,或者我们连接GUI不是特别容易,比如用浏览器调试移动应用。
这种情况下,用命令行进行调试似乎就会变的很重要了。
执行如下命令,我们可以让Node 程序进入调试模式:
node debug index.js
我们可以看下图:
进入调试模式后,我们首先可以看到入口文件的前三行内容。
进入调试模式,进程在入口文件的第一行处默认暂停。默认情况下,当出现断点时,调试器会在当前代码行之前和之后显示两行代码,因为这时我们只看到后面两行的第一行代码。
调试模式默认提供了很多方法:比如我们可以用list方法获取上下文。
debug> list(10)
这样我们可以从当前行前后都多看到10行内容。
但是如何给我们想要的代码加上断点呢?我们可以使用sb(n)方法,sb 代表 set break 。比如:
debug> sb(7)
然后我们重新执行list(10)
可以看到7行多了一个星号*。
然后我们执行命令c,让程序继续往下走。
debug> c
接下来我们执行下面的命令,当然也可以打开浏览器输入地址:http://localhost:3000/31
$ curl http://localhost:3000/31
这样就会触发我们在代码中设置的断点。
想要进入这个断点,我们需要执行step命令。
debug> step
这样我们就进入了past.js文件中。
我们可以使用exec命令打印出引用值。
debug> exec gap
比如,我们可以打印gap和age的值。
打印完成后,我们希望跳出past.js文件。
这时候我们需要执行out 命令。
debug> out
我们可以看到断点又回到了index.js,同时,future方法被标记成了绿色,表明接下来要执行的就是它。
我们继续执行step命令,进入future.js文件。
同样的,执行exec gap,即可打印出我们想要打印的内容。
可以看到,age 是一个undefined。
以上就是用命令行调试Node 程序的一个简单的流程。
本文分享自 JavaScript高级程序设计 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!