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 HTMLEncode HTMLDecode的完整实例(兼容ie和火狐)
Jun 02 Javascript
麻雀虽小五脏俱全 Dojo自定义控件应用
Sep 04 Javascript
JS的location.href跳出框架打开新页面的方法
Sep 04 Javascript
jQuery实现仿美橙互联两级导航菜单的方法
Mar 09 Javascript
简介JavaScript中的setHours()方法的使用
Jun 11 Javascript
响应式表格之固定表头的简单实现
Aug 26 Javascript
探索Vue.js component内容实现
Nov 03 Javascript
Kendo Grid editing 自定义验证报错提示的解决方法
Nov 18 Javascript
JS变量中有var定义和无var定义的区别以及es6中let命令和const命令
Feb 19 Javascript
详解JS函数stack size计算方法
Jun 18 Javascript
vue中设置、获取、删除cookie的方法
Sep 21 Javascript
element-ui table组件如何使用render属性的实现
Nov 04 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
Home Coffee Roasting
2021/03/03 咖啡文化
Apache, PHP在Windows 9x/NT下的安装与配置 (一)
2006/10/09 PHP
php中的filesystem文件系统函数介绍及使用示例
2014/02/13 PHP
PHP内核探索:哈希表碰撞攻击原理
2015/07/31 PHP
PHP中的Trait 特性及作用
2016/04/03 PHP
学习thinkphp5.0验证类使用方法
2017/11/16 PHP
PHP实现基于3DES算法加密解密字符串示例
2018/08/24 PHP
兼容IE与firefox火狐的回车事件(js与jquery)
2010/10/20 Javascript
Jquery 表格合并的问题分享
2011/09/17 Javascript
node.js中的querystring.unescape方法使用说明
2014/12/10 Javascript
分享我的jquery实现下拉菜单心的
2015/11/29 Javascript
bootstrap实现弹窗和拖动效果
2016/01/03 Javascript
深入浅析JavaScript函数前面的加号和叹号
2016/07/09 Javascript
Bootstrap CSS组件之按钮组(btn-group)
2016/12/17 Javascript
简单实现JS上传图片预览功能
2017/04/14 Javascript
React Form组件的实现封装杂谈
2018/05/07 Javascript
jQuery实现模拟搜索引擎的智能提示功能简单示例
2019/01/27 jQuery
node.js中process进程的概念和child_process子进程模块的使用方法示例
2020/02/11 Javascript
在vue中使用vant TreeSelect分类选择组件操作
2020/11/02 Javascript
[51:15]2014 DOTA2国际邀请赛中国区预选赛 Orenda VS LGD-GAMING
2014/05/22 DOTA
Python基础学习之常见的内建函数整理
2017/09/06 Python
Python数据分析中Groupby用法之通过字典或Series进行分组的实例
2017/12/08 Python
浅谈pytorch和Numpy的区别以及相互转换方法
2018/07/26 Python
python自动发送测试报告邮件功能的实现
2019/01/22 Python
Python使用paramiko操作linux的方法讲解
2019/02/25 Python
Python Django框架防御CSRF攻击的方法分析
2019/10/18 Python
Python的缺点和劣势分析
2019/11/19 Python
pygame库实现移动底座弹球小游戏
2020/04/14 Python
python+requests接口压力测试500次,查看响应时间的实例
2020/04/30 Python
Python使用itcaht库实现微信自动收发消息功能
2020/07/13 Python
香蕉共和国工厂店:Banana Republic Factory
2018/06/09 全球购物
党员思想汇报材料
2014/12/19 职场文书
员工年终考核评语
2014/12/31 职场文书
活动主持人开场白
2015/05/28 职场文书
攻略丨滑雪究竟该选哪款对讲机?
2022/02/18 无线电
面试提问mysql一张表到底能存多少数据
2022/03/13 MySQL