无法使用node-inspector调试Nodej:websocket_closed和Assertion失败:未知实验canvasInspection

时间:2016-04-12 06:43:52

标签: node.js debugging

我尝试在windows环境下使用node-inspector(v0.12.8),nodejs(v5.9.1)和chrome(v49.0.2623.112 m)调试我的server.js应用程序。
在shell中我做

node-inspector   
Node Inspector v0.12.8 Visit http://127.0.0.1:8080/?port=5858 to start debugging.

在第二个shell中我做了

node --debug server.js

当我转到chrome标签时,我会收到一条消息:

  

与目标分离       远程调试已被终止,原因是:websocket_closed
      请重新加入新目标

在chrome的console dev工具中,我可以看到一条消息,检查员无法找到实验函数canvasInspection(在最新的chrome版本中删除)。
我做错了什么?

3 个答案:

答案 0 :(得分:5)

不是具体的答案,但从Node v6开始,您实际上只需在启动流程时使用--inspect标记,它就可以让您使用Chrome调试工具而不是依赖于节点检查器。看看:

https://nodejs.org/docs/latest/api/debugger.html#debugger_v8_inspector_integration_for_node_js

希望这有帮助!

答案 1 :(得分:2)

我遇到了同样的问题,我按照以下方式解决了这个问题:

1-在当前使用的nodejs路径中编辑以下文件:

 ...\node_modules\node-inspector\lib\InjectorClient.js

2-转到line 111。如果你使用vim作为文本编辑器,你可以通过命令:111

来完成

3-在if添加以下line 111语句并缩进下一行。

if(NM.length > 0) 
  cb(error, NM[0].ref);

4-保存并重新运行node-inspector

干杯!

我正在使用MacOS Sierra,Node v6.3.1。但解决方案很普遍。

答案 2 :(得分:0)

我也遇到过这个问题,但经过大量的谷歌搜索并发现了这个问题。对我来说唯一有用的东西如下:

  1. 打开Command Promp(cmd)&键入node -v,它将显示计算机上安装的节点版本。
  2. 如果安装的版本是5.x.x或6.x.x,则继续。
  3. 只需从控制面板卸载此节点版本。
  4. 安装版本4的节点版本。我已经使用Node版本v4.5.0&我希望它适用于版本为v4.x.x的所有Node。
  5. 使用命令npm uninstall node-inspector -g卸载上一个节点检查器。
  6. 然后使用命令npm install node-inspector -g再次安装。
  7. 然后开始调试.. :))