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 27 Javascript
用于节点操作的API,颠覆原生操作HTML DOM节点的API
Dec 11 Javascript
jQuery控制TR显示隐藏的几种方法
Jun 18 Javascript
JS查找字符串中出现次数最多的字符
Sep 05 Javascript
JS正则替换去空格的方法
Mar 24 Javascript
JavaScript实现前端实时搜索功能
Mar 26 Javascript
微信小程序获取循环元素id以及wx.login登录操作
Aug 17 Javascript
微信小程序收藏功能的实现代码
Jun 12 Javascript
Canvas实现微信红包照片效果
Aug 21 Javascript
vue.js 2.*项目环境搭建、运行、打包发布的详细步骤
May 01 Javascript
Angular4.0动画操作实例详解
May 10 Javascript
javascript数组常见操作方法实例总结【连接、添加、删除、去重、排序等】
Jun 13 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
php中定时计划任务的实现原理
2013/01/08 PHP
Laravel4中的Validator验证扩展用法详解
2016/07/26 PHP
PHP中$GLOBALS与global的区别详解
2019/03/21 PHP
详解phpstorm2020最新破解方法
2020/09/17 PHP
Jquery 改变radio/checkbox选中状态,获取选中的值(示例代码)
2013/12/12 Javascript
在百度知道团队中快速审批新成员的js脚本
2014/02/02 Javascript
javascript框架设计读书笔记之字符串的扩展和修复
2014/12/02 Javascript
jQuery实现按键盘方向键翻页特效
2015/03/18 Javascript
javascript实现页面刷新时自动清空表单并选中的方法
2015/07/18 Javascript
详解JavaScript中数组的相关知识
2015/07/29 Javascript
JS与jQ读取xml文件的方法
2015/12/08 Javascript
JavaScript简单获取页面图片原始尺寸的方法
2016/06/21 Javascript
Mac 安装 nodejs方法(图文详细步骤)
2017/10/30 NodeJs
css和js实现弹出登录居中界面完整代码
2017/11/26 Javascript
jQuery实现简单的下拉菜单导航功能示例
2017/12/07 jQuery
ndm:NPM的桌面GUI应用程序
2018/10/15 Javascript
jQuery实现当拉动滚动条到底部加载数据的方法分析
2019/01/24 jQuery
微信小程序 bindtap 传参的实例代码
2020/02/21 Javascript
javascript 使用sleep函数的常见方法详解
2020/04/26 Javascript
利用node.js开发cli的完整步骤
2020/12/29 Javascript
Python中字符编码简介、方法及使用建议
2015/01/08 Python
使用Python的Tornado框架实现一个一对一聊天的程序
2015/04/25 Python
Python脚本实时处理log文件的方法
2016/11/21 Python
django ManyToManyField多对多关系的实例详解
2019/08/09 Python
Python解析多帧dicom数据详解
2020/01/13 Python
Python+Dlib+Opencv实现人脸采集并表情判别功能的代码
2020/07/01 Python
python 监控logcat关键字功能
2020/09/04 Python
HTML5 video视频字幕的使用和制作方法
2018/05/03 HTML / CSS
德国家具购物网站:Möbel Höffner
2019/08/26 全球购物
学期自我鉴定范文
2013/10/01 职场文书
简历自我评价怎么写呢?
2014/01/06 职场文书
2014年最新个人对照检查材料范文
2014/09/25 职场文书
小学生安全教育广播稿
2014/10/20 职场文书
物业管理交接协议书
2016/03/24 职场文书
2017元旦、春节期间廉洁自律承诺书
2016/03/25 职场文书
python tqdm用法及实例详解
2021/06/16 Python