nodejs调试总结
之前nodejs开发中最痛苦的就是调试,因为我之前开发node时使用的编辑器还没有将nodejs的调试也集成进去,所以简单对nodejs开发的调试做了点探索,nodejs本身就有调试功能,同时nodejs源于开源的力量,在开源项目中有一些就是专门进行nodejs调试的,我们来一起看一看吧。
1.node-inspector
https://github.com/node-inspector/node-inspector
node-inspector是一个基于Blink Developer Tools (formerly WebKit Web Inspector)的nodejs调试工具,项目有ibm旗下的strongloop负责,目前在github上面已经有一万多可星了。我们都知道Blink是chrome的内核,chrome的调试工具强大无比,使用node-inspector我们能把chrome的强大调试工具赋给nodejs使用。
使用方法:
分别安装node-inspector和chrome浏览器
node-inspector建议安装在全局环境下,因为调试这种工作几乎所有的nodejs项目都会需要的。
npm install -g node-inspector
安装后就会有node-debug命令,使用node-debug代替node命令就能调试我们的项目了。

调试界面和调试web项目没有区别。
2. 基于Nodejs内建的调试器
我们开发浏览器应用的时候,很多都是使用手动加debugger标签进行调试,而Nodejs也是支持这种开发形式,在需要调试的地方打上debugger语句,但是启动node的时候一定要加上debug参数,如:
node debug index.js
如果这样书写,node执行到debugger处时候会被挂起,我们可以使用内建命令和表达式的值:
命令有:
| 命令 | 解释 |
|---|---|
| cont, c | 进入下一个断点 |
| next, n | 下一步 |
| step, s | 进入函数 |
| out, o | 跳出函数 |
| setBreakpoint(), sb() | 在当前行设置断点 |
| setBreakpoint(line), sb(line) | 在 line 行设置断点 |
和我们平时调试无差异。
同时提供了可以查看变量值的命令,可以让我们查看变量的值:
watch, unwatch, watchers, repl, restart, kill, list, scripts, breakpoints, version
是不是和其他调试工具一样,只不过是命令行的形式,使用起来不是很方便,但是还是可以满足需求。
3.使用webstorm调试
我们还是习惯在编辑器中调试我们的程序,如今如webstorm这种编辑器都自带调试工具,这大大简化了node应用的开发,具体使用方法如下。首先先给js文件配置node应用,如


配置后在上边的调试工具就会变为可用,点击那个小虫子的按钮就可以调试node了,下边的页签也会都一个调试工具,可用看见局部变量,使用起来非常方便。

几种方法综合来看,使用webstorm调试是最简单容易的方法。
参考:
http://www.aichengxu.com/javascript/9844636.htm
nodejs调试总结的更多相关文章
- nodejs 调试 node-inspector包
nodejs 调试调试比较麻烦,让习惯了用chrome浏览器调试的前端同学来说有点不适用 node-inspector这个包让我们可以在chrome上像调试前端代码一样来调试nodejs 1.全局 ...
- nodejs 学习二, nodejs调试
nodejs 调试,在官方文档(英文),常用的两种: 一个在chrome安装插件inspector 第二种利用编辑 这里我使用vscode编辑来调试. 主要是配置 launch.json(用vscod ...
- nodejs调试基础【转载】
nodejs调试基础[转载] 看到了一片不错的文章: 作者:前端求生之路 链接:nodejs调试基础[转载]
- 开始学nodejs —— 调试篇
新学习一种技术,肯定会遇到很多坑,我们需要找到这些坑,弄清楚这些坑出现的原因和其中的原理.这种操作就叫做调试. 程序调试的方法和工具多种多样,在这里我总结一下我在学习nodejs的过程中,学到的和用到 ...
- 欲善其功,必先利其器--Nodejs调试技术总结
调试技术与开发技术构成了软件开发的基石.目前Nodejs作为新型的Web Server开发栈倍受开发者关注.总的来说Nodejs的应用程序主要有两部分:JavaScript编写的js模块和C语言编译的 ...
- supervisor提高nodejs调试效率
1.NodeJS环境安装 2.安装supervisor npm install supervisor -g (表示安装到全局路径下) 开发nodejs程序,调试的时候,无论你修改了代码的哪一部分,都 ...
- Nodejs调试技术总结
调试技术与开发技术构成了软件开发的基石.目前Nodejs作为新型的Web Server开发栈倍受开发者关注.总的来说Nodejs的应用程序主要有两部分:JavaScript编写的js模块和C语言编译的 ...
- Nodejs 调试方法
nodejs内部提供一个debug机制,可以让程序进入debug模式,供开发者一步一步分析代码发现问题. 共有3中启动参数可以让程序进入debug模式,假设我们要对app.js进行调试. node d ...
- nodejs调试:node-inspector
基于Chrome浏览器的调试器 既然我们可以通过V8的调试插件来调试,那是否也可以借用Chrome浏览器的JavaScript调试器来调试呢?node-inspector模块提供了这样一种可能.我们需 ...
随机推荐
- 快速搭建CentOS+ASP.NET Core环境支持WebSocket
环境:CentOS 7.x,.net core 2 以下.net core 2安装操作为官方方法.如果你使用Docker,那么更简单了,只需要docker pull microsoft/dotnet就 ...
- canvas小球
小球碰撞效果是采用面向对象的方式写的,在小球的构造器里包含了小球的属性值,大小,移动速度,半径大小以及颜色. 在小球的原型方法里,添加了小球运动的方法,当小球碰撞到屏幕边界的时候进行反弹. 小球是 ...
- thinkphp5 taglib自定义标签教程
学着写了一下,终于搞定了,顺便分享一下!taglib是tp框架自定义标签功能,如果你用过cms,肯定见过类似: {dede:arclist typeid='' row='' col='' titlel ...
- POJ 1979 DFS
题目链接:http://poj.org/problem?id=1979 #include<cstring> #include<iostream> using namespace ...
- 单例模式双重检验锁的判断是否为null的意义
关于双重检验锁首先简单来看一个小例子: public class Singleton{ private static Singleton instance = null; private Single ...
- cisco交换机实现端口聚合
0x00前言: 今天听老师讲端口聚合,为了方便日后复习故此有 了本篇随笔. 0x01准备工具: cisco模拟器 0x02:目录 为什么要用端口聚合? 广播风暴? 扩展:SMTP 0x03正文: 为什 ...
- centos安装postgis
step 1 yum localinstall https://download.postgresql.org/pub/repos/yum/9.2/redhat/rhel-7-x86_64/p ...
- [poj2367]Genealogical tree_拓扑排序
Genealogical tree poj-2367 题目大意:给你一个n个点关系网,求任意一个满足这个关系网的序列,使得前者是后者的上级. 注释:1<=n<=100. 想法:刚刚学习to ...
- 语句in
Python :in在for中: for name in names: names='1','2','3','4','5' for name in names: print(names) in no ...
- Struts2学习笔记三 访问servlet
结果跳转方式 转发 <!-- 转发 --> <action name="Demo1Action" class="cn.itheima.a_result. ...