一:介绍

NodeJS开发有很多种调试方式,比如输出Log、WebStorm自带的调试器、Node Inspector等,其中Node Inspector是比较流行和被推荐的一种。

但是Node Inspector调试流程比较繁琐,需要同时打开两个控制台执行命令,并要打开Chrome浏览器,把控制台的输出结果URL复制粘贴到Chrome中才能调试,并且调试完后需要手动的关掉控制台命令框。

本文就是介绍如何简单、方便、快捷的使用Node Inspector调试NodeJS. 如果你还不会使用Node Inspector,请参见三

二:快捷使用方法(如果你还不会使用Node Inspector,请参见三)

快捷使用Node Inspector的原理是通过调用Bat脚本,让它自动的执行命令,免去我们手动操作的麻烦。具体步骤如下:

1. 新建debug.bat文件。此bat文件做得工作有:

    • 启动node项目的调试
    • 启动node inspector
    • 启动Chrome并自动导航到调试地址。

代码如下:  server.js为你的项目启动的入口,port 5858为默认node-inspector使用的端口

start cmd /k node --debug C:\Work\Code\Exercises\Web\server.js

start cmd /k node-inspector &

start chrome "http://127.0.0.1:8080/debug?port=5858"

2. 新建stop.bat文件。此bat做的工作是自动关闭调试时打开的两个控制台命令窗。代码如下:

taskkill /IM cmd.exe /FI "WINDOWTITLE eq C:\windows\system32\cmd.exe - node*"

3. 开始调试。WebStorm里输入debug,将会自动调用debug.bat命令启动调试,输入stop自动调用stop.bat停止调试。其他的开发工具原理一致。注意:Debug.bat和stop.bat路径要放在命令执行的当前目录下。

 三:Node Inspector使用方法

  引自:http://jingyan.baidu.com/article/dca1fa6fbd580ff1a44052de.html

  1. 使用命令$ npm install -g node-inspector 安装。安装后就可以使用了。之后在命令行中执行“node --debug app2.js”。app2.js为你需要调试的程序的名称。

     
     
  2. 接着再打开一个命令窗口,执行命令“node-inspector &”。执行成功后会显示一个地址,使用浏览器打开这个地址,浏览器需要是Chrome。
     
     
  3. 将打开链接后,可以看到调试工具已经加载代码了,在需要设置的地方点击就可以。设置断点的地方在右边会自动加载断点列表。
     
     
  4. 接着在chrome中再打开一个页签,打开你需要调试的页面。执行你需要的操作,当执行到设置断点的时候,页面会暂停加载,点击回到原来的node-inspector页面,可以看到调试的信息。
     
     
  5. 把鼠标移动到源码断点的位置上也可以看到变量的信息。
     
     
  6. 在调试工具的右边也提供了一些调试功能,单步进入,取消断点等功能。
     
     
     
  7. 通过以上功能的使用,我们就可以比较方便的调试我们的node.js程序了。

快捷使用Node Inspector调试NodeJS的更多相关文章

  1. nodejs 使用Google浏览器进行可视化调试——Node Inspector工具

    1.npm安装Node Inspector工具,全局安装 命令行执行npm install -g node-inspector 2.启动Node Inspector工具,命令行执行 node-insp ...

  2. node-debug 三法三例之node debugger + node inspector

    大家对nodejs调试应该都比较头疼,至少我这个不用IDE写js的人很头疼这个,其实node的生态圈非常好 有非常好的工具和非常潮的开发方式 这里总结了3法3例,希望能对大家有所帮助 文档地址  ht ...

  3. 调试NodeJS应用

    OS:Windows 1.下载安装NodeJS 点击http://nodejs.org/界面上“Install”,下载后运行安装,默认安装到到C:\Program Files\nodejs.安装后确认 ...

  4. Node Inspector 代理实现

    本文首发于 https://github.com/whxaxes/blog/issues/9 背景 平时做 node 开发的时候,通过 node inspector 来进行断点调试是一个很常用的 de ...

  5. node js 调试方法

    1. node-debug tutorial 大家对nodejs调试应该都比较头疼,至少我这个不用IDE写js的人很头疼这个,其实node的生态圈非常好 有非常好的工具和非常潮的开发方式 这里总结了3 ...

  6. node.js调试入门

    1-1 Inspector介绍 使用Inspector调试Node.js的优势 可查看当前上下文的变量 可观察当前函数调用堆栈 不侵入代码 可在暂停状态下执行指定代码 Inspector的构成以及原理 ...

  7. Node.js调试技巧

    1. console.log 跟前端调试相同,通过一步步打印相关变量进行代码调试 2. 使用Node.js内置的调试器 通过node debug xxx.js来进行调试: [root@~/wade/n ...

  8. 3分钟干货学会使用node-inspector调试NodeJS代码

    使用node-inspector调试NodeJS代码 任何一门完备的语言技术栈都少不了健壮的调试工具,对于NodeJS平台同样如此,笔者研究了几种调试NodeJS代码的方式,通过对比,还是觉得node ...

  9. Nodejs学习笔记(二)——Eclipse中运行调试Nodejs

    前篇<Nodejs学习笔记(一)——初识Nodejs>主要介绍了在搭建node环境过程中遇到的小问题以及搭建Eclipse开发Node环境的前提步骤.本篇主要介绍如何在Eclipse中运行 ...

随机推荐

  1. Swift计算字符数量

    通过调用全局 countElements 函数并将字符串作为参数进行传递可以获取该字符串的字符数量. let unusualMenagerie = "Koala

  2. 怎么使用CURL传输工具发送get或者post指令

    1.先下载CURL,见网盘 2.使用,可以直接到doc,cd到curl.exe目录,然后执行 或者用脚本 Set exeRs = WshShell.Exec("curl.exe -F &qu ...

  3. JS中关于clientWidth offsetWidth scrollWidth 的区别及意义

    网页可见区域宽: document.body.clientWidth;网页可见区域高: document.body.clientHeight;网页可见区域宽: document.body.offset ...

  4. maven(二) maven项目构建ssh工程(父工程与子模块的拆分与聚合)

    前一节我们明白了maven是个什么玩意,这一节就来讲讲他的一个重要的应用场景,也就是通过maven将一个ssh项目分割为不同的几个部分独立开发,很重要,加油 --WH 一.maven父工程与子模块的拆 ...

  5. VB6之SendMessage模拟拖放事件

    原文链接:http://hi.baidu.com/coo_boi/item/e1e0f5ab45bddbdd5af191df 网上找了个C++的翻一下,原文链接:http://www.cnblogs. ...

  6. var与let的区别

    var与let的区别 前言: 在没接触Es6之前,我们在js中声明都是通过var来声明变量的,var声明变量虽说方便,但是,又有一些自己的诟病,下边来说一说,这三个的区别! var var相信大家都不 ...

  7. Spring MVC 表单验证

    1. 基于 JSR-303(一个数据验证的规范): import javax.validation.constraints.Min; import javax.validation.constrain ...

  8. [NOIP2013/Codevs3287]货车运输-最小[大]生成树-树上倍增

    Problem 树上倍增 题目大意 给出一个图,给出若干个点对u,v,求u,v的一条路径,该路径上最小的边权值最大. Solution 看到这个题第一反应是图论.. 然而,任意路径最小的边权值最大,如 ...

  9. 由max_allowed_packet引发的mysql攻防大战

    1.原因 程序的sql语句比较长.max_allowed_packet默认是1024.于是就报错了.一开始手动改 global max_allowed_packet ,改完后.莫名奇妙被还原.后来改配 ...

  10. hibernate之映射文件VS映射注解

    前言 对于java开发者而言,注解应该不是一个陌生的概念,早在JavaSE阶段,例如@Override标记重写父类方法或实现接口方法,@Test标记单元测试方法,所以我们可以简单地把它理解为一种有特殊 ...