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 相关文章推荐
JS中动态添加事件(绑定事件)的代码
Jan 09 Javascript
javascript 另一种图片滚动切换效果思路
Apr 20 Javascript
asp.net中System.Timers.Timer的使用方法
Mar 20 Javascript
Extjs NumberField后面加单位实现思路
Jul 30 Javascript
jQuery插件jQuery-JSONP开发ajax调用使用注意事项
Nov 22 Javascript
jQuery多个版本和其他js库冲突的解决方法
Aug 11 Javascript
javascript淘宝主图放大镜功能
Oct 20 Javascript
在网页中插入百度地图的步骤详解
Dec 02 Javascript
Javascript设计模式之装饰者模式详解篇
Jan 17 Javascript
javascript变量提升和闭包理解
Mar 12 Javascript
javascript数据结构之多叉树经典操作示例【创建、添加、遍历、移除等】
Aug 01 Javascript
vue.js与后台数据交互的实例讲解
Aug 08 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支持页面回退的两种方法[转]
2007/02/14 PHP
php中使用ExcelFileParser处理excel获得数据(可作批量导入到数据库使用)
2010/08/21 PHP
PHP将整个网站生成HTML纯静态网页的方法总结
2012/02/05 PHP
PHP 提取图片img标记中的任意属性的简单实例
2013/12/10 PHP
php结合md5的加密解密算法实例
2016/09/30 PHP
php连接mysql数据库最简单的实现方法
2019/09/24 PHP
Javascript中暂停功能的实现代码
2007/03/04 Javascript
javascript 表格排序和表头浮动效果(扩展SortTable)
2009/04/07 Javascript
js事件驱动机制 浏览器兼容处理方法
2016/07/23 Javascript
JS代码实现百度地图 画圆 删除标注
2016/10/12 Javascript
vue的props实现子组件随父组件一起变化
2016/10/27 Javascript
微信小程序 登录实例详解
2017/01/16 Javascript
浅谈vue-cli 3.0.x 初体验
2018/04/11 Javascript
Angular 实现输入框中显示文章标签的实例代码
2018/11/07 Javascript
vue cli4下环境变量和模式示例详解
2020/04/09 Javascript
基于JS实现table导出Excel并保留样式
2020/05/19 Javascript
如何基于viewport vm适配移动端页面
2020/11/13 Javascript
JavaScript中Object、map、weakmap的区别分析
2020/12/15 Javascript
python中的格式化输出用法总结
2016/07/28 Python
用Python实现命令行闹钟脚本实例
2016/09/05 Python
python入门基础之用户输入与模块初认识
2016/11/14 Python
python实现文本进度条 程序进度条 加载进度条 单行刷新功能
2019/07/03 Python
浅谈Python小波分析库Pywavelets的一点使用心得
2019/07/09 Python
python pandas获取csv指定行 列的操作方法
2019/07/12 Python
Python异常原理及异常捕捉实现过程解析
2020/03/25 Python
浅谈python3打包与拆包在函数的应用详解
2020/05/02 Python
Python如何实现机器人聊天
2020/09/10 Python
Django多数据库联用实现方法解析
2020/11/12 Python
自定义html标记替换html5新增元素
2008/10/17 HTML / CSS
欧洲第一中国智能手机和平板电脑网上商店:CECT-SHOP
2018/01/08 全球购物
ColourPop美国官网:卡拉泡泡,洛杉矶彩妆品牌
2019/04/28 全球购物
小学向国旗敬礼活动方案
2014/09/27 职场文书
个人查摆问题整改措施
2014/10/04 职场文书
奖学金个人总结
2015/03/04 职场文书
2015年高二班主任工作总结
2015/05/25 职场文书
react 项目中引入图片的几种方式
2021/06/02 Javascript