node内置调试方法总结


Posted in Javascript onFebruary 22, 2018

自从node6.3以来,node已经直接支持类似node-inpect的功能,只要对执行的js代码加入一个--inspect参数,即可使用chrome做代码调试。

本文使用如下工具:

  • node v9.5.0
  • chrome 64

首先准备待调试代码。如果这是为了学习的目的,可以使用我测试用代码为:

var objectRegExp = /^\[object (\S+)\]$/;
function gettype(obj) {
 var type = typeof obj;
 if (type !== 'object') {
  return type;
 }
 // inspect [[Class]] for objects
 return toString.call(obj)
  .replace(objectRegExp, '$1');
}
gettype({})
gettype(function(){})

然后运行此代码,加上参数--inspect-brk

node --inspect-brk a.js

系统提示:

Debugger listening on ws://127.0.0.1:9229/84960765-5abc-4236-a7c6-924f99c34ed7

打开浏览器,在地址栏内输入:

chrome://inspect/#devices

可以看到:

Remote Target
#LOCALHOST
Target (v9.5.0)
a.js
file:///Users/lcj/Documents/github/express/a.js
inspect

点击最后一行inspect,即可弹出一个新的窗口,此为调试器。并且调入代码到chrome调试器内,在执行命令的控制台上可以看到:

Debugger attached.

现在,可以使用点击调试器内的Run | Step | Step Into等按钮做调试了。

对于没有直接使用node执行的代码,比如测试用例mocha,怎么办?mocha也是支持这些选项的,比如express使用了mocha做单元测试,可以用如下命名来做调试:

mocha --require test/support/env --reporter spec --bail --check-leaks --no-exit test/app.router.js --inspect-brk -g 'should decode correct params

Javascript 相关文章推荐
将CKfinder整合进CKEditor3.0的新方法
Jan 10 Javascript
Javascript(AJAX)解析XML的代码(兼容FIREFOX/IE)
Jul 11 Javascript
JS打开新窗口的2种方式
Apr 18 Javascript
javascript处理表单示例(javascript提交表单)
Apr 28 Javascript
IE6-IE9中tbody的innerHTML不能赋值的解决方法
Sep 26 Javascript
jquery实现点击label的同时触发文本框点击事件的方法
Jun 05 Javascript
Eclipse编辑jsp、js文件时卡死现象的解决办法汇总
Feb 02 Javascript
深入浅析AngularJS中的一次性数据绑定 (bindonce)
May 11 Javascript
JS实现分页浏览横向图片(类轮播)实例代码
Nov 06 Javascript
微信小程序 函数防抖 解决重复点击消耗性能问题实现代码
Sep 12 Javascript
JavaScript实现省市联动效果
Nov 22 Javascript
一篇文章带你搞懂Vue虚拟Dom与diff算法
Aug 25 Javascript
详解vue移动端日期选择组件
Feb 22 #Javascript
webpack 单独打包指定JS文件的方法
Feb 22 #Javascript
webpack中使用iconfont字体图标的方法
Feb 22 #Javascript
微信小程序之圆形进度条实现思路
Feb 22 #Javascript
webpack下实现动态引入文件方法
Feb 22 #Javascript
JavaScript 有用的代码片段和 trick
Feb 22 #Javascript
3种vue路由传参的基本模式
Feb 22 #Javascript
You might like
JAVA/JSP学习系列之七
2006/10/09 PHP
APMServ使用说明
2006/10/23 PHP
PHP无限分类的类
2007/01/02 PHP
php扩展ZF――Validate扩展
2008/01/10 PHP
php判断linux下程序问题实例
2015/07/09 PHP
php实现的支付宝网页支付功能示例【基于TP5框架】
2019/09/16 PHP
PHP实现简单日历类编写
2020/08/28 PHP
张孝祥JavaScript学习阶段性总结(2)--(X)HTML学习
2007/02/03 Javascript
js封装的textarea操作方法集合(兼容很好)
2010/11/16 Javascript
javascript实现控制浏览器全屏
2015/03/30 Javascript
jquery 表单验证之通过 class验证表单不为空
2015/11/02 Javascript
莱鸟介绍window.print()方法
2016/01/06 Javascript
全面详细的jQuery常见开发技巧手册
2016/02/21 Javascript
Google 地图API Map()构造器详解
2016/08/06 Javascript
NodeJs读取JSON文件格式化时的注意事项
2016/09/25 NodeJs
javascript监听页面刷新和页面关闭事件方法详解
2017/01/09 Javascript
用node和express连接mysql实现登录注册的实现代码
2017/07/05 Javascript
详解Vuex中mapState的具体用法
2017/09/28 Javascript
微信小程序promsie.all和promise顺序执行
2017/10/27 Javascript
微信小程序自定义多选事件的实现代码
2018/05/17 Javascript
js实现轮播图的完整代码
2020/10/26 Javascript
解决vue A对象赋值给B对象,修改B属性会影响到A的问题
2018/09/25 Javascript
vue实现图片懒加载的方法分析
2020/02/05 Javascript
vue-router为激活的路由设置样式操作
2020/07/18 Javascript
Python中利用原始套接字进行网络编程的示例
2015/05/04 Python
详解python读取image
2019/04/03 Python
python KNN算法实现鸢尾花数据集分类
2019/10/24 Python
用Python制作音乐海报
2021/01/26 Python
Python3+Django get/post请求实现教程详解
2021/02/16 Python
构造方法和其他方法的区别?怎么调用父类的构造方法
2013/09/22 面试题
大课间活动实施方案
2014/03/06 职场文书
十八届三中全会感言
2014/03/10 职场文书
社区志愿者活动方案
2014/08/18 职场文书
领导干部整治奢华浪费之风思想汇报
2014/10/07 职场文书
项目备案申请报告
2015/05/15 职场文书
SpringBoot深入分析讲解监听器模式下
2022/07/15 Java/Android