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 相关文章推荐
基于jQuery的简单九宫格实现代码
Aug 09 Javascript
JS定义回车事件(实现代码)
Jul 08 Javascript
Backbone.js 0.9.2 源码注释中文翻译版
Jun 25 Javascript
js实现无限级树形导航列表效果代码
Sep 23 Javascript
详解JavaScript中|单竖杠运算符的使用方法
May 23 Javascript
AngularJS实践之使用NgModelController进行数据绑定
Oct 08 Javascript
基于JavaScript实现Tab选项卡切换效果
Nov 24 Javascript
详解微信小程序开发之——wx.showToast(OBJECT)的使用
Jan 18 Javascript
详解jquery validate实现表单验证 (正则表达式)
Jan 18 Javascript
JavaScript、C# URL编码、解码总结
Jan 21 Javascript
vue一步步实现alert功能
Jul 05 Javascript
20个必会的JavaScript面试题(小结)
Jul 02 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
深入phpMyAdmin的安装与配置的详细步骤
2013/05/07 PHP
PHP实现 APP端微信支付功能
2018/06/22 PHP
PHP chr()函数讲解
2019/02/11 PHP
使用Zookeeper分布式部署PHP应用程序
2019/03/15 PHP
检测是否已安装 .NET Framework 3.5的js脚本
2009/02/14 Javascript
Prototype Template对象 学习
2009/07/19 Javascript
JQuery 拾色器插件发布-jquery.icolor.js
2010/10/20 Javascript
JavaScript(JS) 压缩 / 混淆 / 格式化 批处理工具
2010/12/10 Javascript
jQuery prev ~ siblings选择器使用介绍
2013/08/09 Javascript
javascript判断机器是否联网的2种方法
2013/08/09 Javascript
通用javascript代码判断版本号是否在版本范围之间
2015/11/29 Javascript
JS中使用DOM来控制HTML元素
2016/07/31 Javascript
Javascript 调用 ActionScript 的简单方法
2016/09/22 Javascript
详解jQuery事件
2017/01/13 Javascript
Vue头像处理方案小结
2018/07/26 Javascript
Vue点击切换颜色的方法
2018/09/13 Javascript
Vue CLI 3.x 自动部署项目至服务器的方法
2019/04/02 Javascript
node express使用HTML模板的方法示例
2019/08/22 Javascript
一行JavaScript代码如何实现瀑布流布局
2020/12/11 Javascript
跟老齐学Python之坑爹的字符编码
2014/09/28 Python
解决Python2.7读写文件中的中文乱码问题
2018/04/12 Python
python 默认参数相关知识详解
2019/09/18 Python
python统计字符的个数代码实例
2020/02/07 Python
Django用户登录与注册系统的实现示例
2020/06/03 Python
安装不同版本的tensorflow与models方法实现
2021/02/20 Python
HTML5 在canvas中绘制矩形附效果图
2014/06/23 HTML / CSS
do you have any Best Practice for testing
2016/06/04 面试题
应用电子技术专业个人求职信
2013/09/21 职场文书
军训考核自我鉴定
2014/02/13 职场文书
离婚财产处理协议书
2014/09/30 职场文书
村主任“四风”问题个人对照检查材料思想汇报
2014/10/02 职场文书
2014年社区党建工作汇报材料
2014/11/02 职场文书
合作与交流自我评价
2015/03/09 职场文书
Python 多线程处理任务实例
2021/11/07 Python
详解Python内置模块Collections
2022/03/22 Python
教你部署vue项目到docker
2022/04/05 Vue.js