NodeJS调试工具 — node-inspector

时间:2024-03-09 14:50:10

 NodeJS越来越火(真是火烧火燎的),它的火爆给前端开发同学指出了一条新路——还可以做后端开发(或回归后端开发)。这篇文章不是讨论NodeJS如何好、如何使用的,相信想找这类资料的同学已经不满足写个HelloWorld了,入门教程已经无法满足我们对NodeJS的热爱了,我们要写更复杂的、更高大上的代码。系统的复杂度和代码量上来后,修复各种各样的Bug就我们这些coder的主要工作了。而定位Bug最常用也是最有效的方式就是调试,因为NodeJS还非常非常年轻,很多IDE对它支持不是很好,所以我们就聊聊NodeJS的调试方法。废话少叙,进入正题(好像已经说了很多了)。

 

    我相信NodeJS的调试方法有很多,在一篇文章里介绍太多中方式并不好,就算看完了到最后还是不知道用哪个,所以我在这篇文章里就只介绍一个调试工具——node-inspector,这个调试工具也是基于NodeJS开发的。

 

    准备工作

    1、nodejs运行环境

    2、基于nodejs开发的程序

    3、chrome浏览器(用它干什么,后面就知道了)

 

    下我们就是开始NodeJS的调试旅程

    1、首先我们要准备NodeJS的运行环境,没有它我们什么都不了。

 

    2、安装node-inspector运行环境  

        安装命令:npm install -g node-inspector  

        注意:a、参数-g 将node-inspector安装到系统环境变量中,可以在任何路径下执行,尽量保留。

                  b、如果是Linux或Unix系统,需要使用root权限安装

        

        

        

 

    3、启动node-inspector

        node-inspector启动后会生成一个服务,主要负责调试工具与nodejs程序之间的沟通工作,一个桥梁。

        a、window:直接在任意路径下执行 node-inspector

        

        这个窗口不要关闭

     b、Linux || Unix:node-inspector &   将node-inspcetor作为后台服务,这样就不怕误操作,把窗口关掉了。

        

        出现进程PID,表示node-inspcetor已经成为后台进程,可以ctrl+c结束当前任务,node-inspcetor进程依然保持。

        如果想停止可以 kill -9 pid 杀掉node-inspcetor进程。        

 

    4、打开chrome,输入地址 http://127.0.0.1:8080/debug?port=5858

        

        相信大家都看到有错误了,知道什么原因吗? 恭喜你猜对了,我们的NodeJS程序还没起来呢,目前先到这,现在需要回过头来看看我们的NodeJS程序的变化。

 

    5、打开NodeJS的调试模式

        node --debug app.js 

        

        看到跟以前启动有什么不同吗?  

        对了,多了一行提示信息,debugger的监听端口是5858,这个端口可以修改,请baidu或google。

 

    6、再次打开chrome,刷新页面

        

        讨厌的错误没有了,我们的chrome通过node-inspector服务连接到nodejs服务上了,并显示nodejs应用的入口文件内容。

        在这里面可以像以前调试js代码一样的来跟踪我们的nodejs应用了。(怎样使用chrome调试就不在这里说了)

 

总结:

1、node-inspector依赖nodejs的运行环境。

2、调试过程中node-inspector的服务不要重启,只需要在重启nodejs应用后刷新一下chrome的页面即可。

3、严格的来说node-inspector不是一个完整的调试工具,它需要一个可视化的调试界面来展示所有的调试信息,node-inspector是调试界面与nodejs之间的桥梁,是调试界面能与nodejs沟通。