node.js 调试问题
最近打算在项目过程中使用node.js辅助解决一些问题,需要用到node.js的调试技术。
通常而言,大家都会提到debugger或者node-inspector方法。
debugger方法谁用谁知道,一般应该没有人去使用,
node-inspector呢,如果你运气好,可能在两步之内就可以使用chrome来调试了,但是如果运气不好可能就看到
"Remote debugging has been terminated with reason: websocket_closed"错误

如果出现这个错误,很可能是你的node.js版本比较高的原因,你可以尝试将版本除到6.3以下,或者,修改下面中的文件(Linux下自已去找相应的文件路径)

将下图中红框中的代码注释掉

如果不介意使用最新版本的node.js(当前最新是7.5),那么就可以使用另一种选择
见文档
即在启动node.js程序时使用如下命令
node --inspect=<ipaddress>:<port> --debug-brk index.js
然后在chrome浏览器中使用
chrome-devtools://devtools/bundled/inspector.html?experiments=true&v8only=true&ws=<ipaddress>:<port>/edf01bcd-4217-452a-b6ed-a24272862700
即可调试了。如果你觉得在chrome中每次输入这个麻烦,那么也可以安装一个chrom插件,然后使用相应的IP直接进入。


效果(请忽略被调试的代码)

-------------------------2017年2月12日更新 -------------------------
每次都要输入调试目标机器IP感觉很不爽,在Inspector的选项中可以进行配置,每次默认打开调试目标机器的地址。

进入后调上IP地址,打上两个勾。然后在调试目标机器 node --inspect=192.168.1.139:9229 --debug-brk app.js ,Chrome就会自动开启调试页面了,简直和VS一样方便!

-------------------------2017年2月12日更新结束 -------------------------
node.js 调试问题的更多相关文章
- node.js调试
用了几天node.js感觉很新奇,但是调试问题实在是愁煞人,开始的时候懒的学习调试方法,看看异常内容就可以了,但随着代码复杂程度的上升,并不是所有错误都是语法错误了,不调试搞不定了,只好搜搜资料,学习 ...
- WebStorm配置node.js调试
最近因为工作关系,一直在做node.js的开发,学习了koa框架,orm框架sequelize,以及swagger文档的配置.但是,最近因为swagger文档使用了es6的修饰器那么个东西(在java ...
- Node.js 调试器
稳定性: 3 - 稳定 V8 提供了强大的调试工具,可以通过 TCP protocol 从外部访问.Node 内置这个调试工具客户端.要使用这个调试器,以debug参数启动 Node,出现提示: % ...
- sublime text配置node.js调试
1. 首先到 nodejs.org 下载 Node.js 安装包并安装.2. 打开 Sublime Text 2 编辑器.选择菜单 Tools --> Build System --> n ...
- nodejs学习笔记Node.js 调试命令
3.4 调试 47 下面是一个简单的例子: $ node debug debug.js < debugger listening on port 5858 connecting ...
- node.js调试方法
第一种方式:node内置的调试器 在程序中添加debugger,然后在启动node程序时,使用debug模式启动 1.node debug my_event.js 2.使用node文档中各种命令,进行 ...
- node.js调试入门
1-1 Inspector介绍 使用Inspector调试Node.js的优势 可查看当前上下文的变量 可观察当前函数调用堆栈 不侵入代码 可在暂停状态下执行指定代码 Inspector的构成以及原理 ...
- Node.js 调试小技巧
小技巧--使用 supervisor如果你有 PHP 开发经验,会习惯在修改 PHP 脚本后直接刷新浏览器以观察结果,而你在开发 Node.js 实现的 HTTP 应用时会发现,无论你修改了代码的哪一 ...
- Node.js调试技巧
1. console.log 跟前端调试相同,通过一步步打印相关变量进行代码调试 2. 使用Node.js内置的调试器 通过node debug xxx.js来进行调试: [root@~/wade/n ...
随机推荐
- python中的is和==
is和== Python中的对象包含三要素:id.type.value id方法的返回值就是对象的内存地址其中id用来唯一标识一个对象,type标识对象的类型,value是对象的值 is 判断的是a对 ...
- randrange()和random() 函数
描述 randrange() 方法返回指定递增基数集合中的一个随机数,基数缺省值为1. 语法 以下是 randrange() 方法的语法: impot random random.randrange ...
- DL服务器主机环境配置(ubuntu14.04+GTX1080+cuda8.0)解决桌面重复登录
DL服务器主机环境配置(ubuntu14.04+GTX1080+cuda8.0)解决桌面重复登录 前面部分是自己的记录,后面方案部分是成功安装驱动+桌面的正解 问题的开始在于:登录不了桌面,停留在重复 ...
- bzoj5049: 导航系统
Description 小Q来到了一个随机的国度.这个国度由n座城市和m条双向道路构成.因为这个国度崇尚随机,因此m条边是用随机 选择两端点的方式生成的.充满好奇的小Q想在这里进行k次随机的旅行,每次 ...
- word文档内容如何防止被复制
word2016 审阅->限制编辑->1格式设置编辑 and 2编辑限制->3是,启动强制保护->输入秘密
- SELINUX工作原理
SELinux工作原理 1. 简介 SELinux带给Linux的主要价值是:提供了一个灵活的,可配置的MAC机制. Security-Enhanced Linux (SELinux)由以下两部分组成 ...
- Core Graphices 设置渐变
Core Graphices 设置渐变 Quartz 提供了两种设置渐变的方式 CGShadingRef and CGGradientRef 尝试CGGradientRef 的使用 import & ...
- 使用Maven
MyEclipse2015自带有Maven,但是建个工程老出错. (Eclipse J2EE也自带有) 1.下载maven.官网 http://maven.apache.org/download.cg ...
- Phpstorm 与 服务器 同步 代码
链接:(自己领悟就好了) Phpstorm同步代码
- Vue 封装的loading组件
<template> <div class="loadEffect"> <span></span> <span>< ...