我尝试在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版本中删除)。
我做错了什么?
答案 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)
我也遇到过这个问题,但经过大量的谷歌搜索并发现了这个问题。对我来说唯一有用的东西如下:
npm uninstall node-inspector -g
卸载上一个节点检查器。npm install node-inspector -g
再次安装。