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 相关文章推荐
根据分辨率不同,调用不同的css文件
Aug 25 Javascript
javascript中AJAX用法实例分析
Jan 30 Javascript
js实现圆盘记速表
Aug 03 Javascript
jQuery ajax方法传递中文时出现中文乱码的解决方法
Jul 25 Javascript
Angular 常用指令实例总结整理
Dec 13 Javascript
javascript判断元素存在和判断元素存在于实时的dom中的方法
Jan 17 Javascript
Jquery根据浏览器窗口改变调整大小的方法
Feb 07 Javascript
vue教程之toast弹框全局调用示例详解
Aug 24 Javascript
echarts实现地图定时切换散点与多图表级联联动详解
Aug 07 Javascript
Javascript 类型转换、封闭函数及常见内置对象操作示例
Nov 15 Javascript
js实现图片粘贴到网页
Dec 06 Javascript
JavaScript经典案例之简易计算器
Aug 24 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执行速度全攻略(下)
2006/10/09 PHP
用Apache反向代理设置对外的WWW和文件服务器
2006/10/09 PHP
十天学会php之第十天
2006/10/09 PHP
用户的详细注册和判断
2006/10/09 PHP
php生成SessionID和图片校验码的思路和实现代码
2009/03/10 PHP
Erlang的运算符(比较运算符,数值运算符,移位运算符,逻辑运算符)
2012/07/23 PHP
PHP中常用的数组操作方法笔记整理
2016/05/16 PHP
php 调用百度sms来发送短信的实现示例
2018/11/02 PHP
Javascript全局变量var与不var的区别深入解析
2013/12/09 Javascript
原生JavaScript+LESS实现瀑布流
2014/12/12 Javascript
PHPMyAdmin导入时提示文件大小超出PHP限制的解决方法
2015/03/30 Javascript
js获取元素的外链样式的简单实现方法
2016/06/06 Javascript
Nodejs实现短信验证码功能
2017/02/09 NodeJs
原生JS发送异步数据请求
2017/06/08 Javascript
React Native之ListView实现九宫格效果的示例
2017/08/02 Javascript
vue实现留言板todolist功能
2017/08/16 Javascript
vue写一个组件
2018/04/09 Javascript
JavaScript获取用户所在城市及地理位置
2018/04/21 Javascript
jQuery实现条件搜索查询、实时取值及升降序排序的方法分析
2019/05/04 jQuery
微信小程序的线程架构【推荐】
2019/05/14 Javascript
vue+element_ui上传文件,并传递额外参数操作
2020/12/05 Vue.js
Python3.6正式版新特性预览
2016/12/15 Python
利用aardio给python编写图形界面
2017/08/21 Python
python 创建一个空dataframe 然后添加行数据的实例
2018/06/07 Python
Python面向对象之类的封装操作示例
2019/06/08 Python
Tensorflow模型实现预测或识别单张图片
2019/07/19 Python
利用PyQt中的QThread类实现多线程
2020/02/18 Python
html5+CSS3+JS实现七夕言情功能代码
2017/08/28 HTML / CSS
Kathmandu美国网站:新西兰户外运动品牌
2019/03/23 全球购物
报社实习生自荐信
2014/01/24 职场文书
秋季运动会稿件
2014/01/30 职场文书
大队委竞选演讲稿
2014/04/28 职场文书
妇联领导班子剖析材料
2014/08/21 职场文书
2014优秀大学生简历自我评价
2014/09/15 职场文书
宇宙与人观后感
2015/06/05 职场文书
初中思想品德教学反思
2016/02/24 职场文书