最近打算在项目过程中使用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日更新结束 -------------------------

 

posted on 2017-02-08 21:55  think8848  阅读(954)  评论(0编辑  收藏  举报