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 相关文章推荐
Javascript与vbscript数据共享
Jan 09 Javascript
比较详细的关于javascript中void(0)的具体含义解释
Aug 02 Javascript
jquery全选/全不选/反选另一种实现方法(配合原生js)
Apr 07 Javascript
一个不错的仿携程自定义数据下拉选择select
Sep 01 Javascript
JsRender for object语法简介
Oct 31 Javascript
jQuery实现contains方法不区分大小写的方法
Feb 13 Javascript
AngularJS实现根据变量改变动态加载模板的方法
Nov 04 Javascript
js仿新浪微博消息发布功能
Feb 17 Javascript
Bootstrap Tree View简单而优雅的树结构组件实例解析
Jun 15 Javascript
详解js实时获取并显示当前时间的方法
May 10 Javascript
解决微信小程序云开发中获取数据库的内容为空的方法
May 15 Javascript
vue实现按需加载组件及异步组件功能
May 27 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
Terran魔法科技
2020/03/14 星际争霸
Php中文件下载功能实现超详细流程分析
2012/06/13 PHP
一个简单的PHP验证码实现代码
2014/05/10 PHP
Android App中DrawerLayout抽屉效果的菜单编写实例
2016/03/21 PHP
JQuery 解析多维的Json数据格式
2009/11/02 Javascript
jQuery学习笔记之jQuery选择器的使用
2010/12/22 Javascript
20个最新的jQuery插件
2012/01/13 Javascript
在JavaScript并非所有的一切都是对象
2013/04/11 Javascript
node.js中的fs.readFileSync方法使用说明
2014/12/15 Javascript
js省市联动效果完整实例代码
2015/12/09 Javascript
js运动事件函数详解
2016/10/21 Javascript
浅析如何利用angular结合translate为项目实现国际化
2016/12/08 Javascript
bootstrap可编辑下拉框jquery.editable-select
2017/10/12 jQuery
js数组方法reduce经典用法代码分享
2018/01/07 Javascript
对Angular中单向数据流的深入理解
2018/03/31 Javascript
JavaScript中var、let、const区别浅析
2018/06/24 Javascript
Vue.js实现数据响应的方法
2018/08/13 Javascript
JavaScript枚举选择jquery插件代码实例
2020/11/17 jQuery
浅谈python中的实例方法、类方法和静态方法
2017/02/17 Python
python实现字典(dict)和字符串(string)的相互转换方法
2017/03/01 Python
Python日志模块logging基本用法分析
2018/08/23 Python
python使用scrapy发送post请求的坑
2018/09/04 Python
python使用pandas抽样训练数据中某个类别实例
2020/02/28 Python
解决pycharm不能自动保存在远程linux中的问题
2021/02/06 Python
python反扒机制的5种解决方法
2021/02/06 Python
使用HTML5的表单验证的简单示例
2015/09/09 HTML / CSS
使用HTML5和CSS3制作一个模态框的示例
2018/03/07 HTML / CSS
毕业设计计划书
2014/01/09 职场文书
银行存款证明样本
2014/01/17 职场文书
党支部遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
校园游戏活动新闻稿
2014/10/15 职场文书
2014年教师教学工作总结
2014/11/08 职场文书
2014年前台个人工作总结
2014/11/14 职场文书
乔迁之喜答谢词
2015/01/05 职场文书
建国大业观后感
2015/06/01 职场文书
立秋之描写立秋的作文(五年级)
2019/08/08 职场文书