我正在尝试在服务器端调试流星应用程序。
我创建了一个环境变量export NODE_OPTIONS =' - debug'。
我运行meteor(版本0.7.0.1)命令。它告诉调试器监听端口5858。
我启动node-inspector(版本v0.7.0-2)并指向127.0.0.1:8080/debug?port=5858,但我只能看到几个字符串,Source,Console和提示符>在哪里我什么都写不出来。
我在控制台中出现此错误: “与ws // 127.0.0.1:8080 / socket.io / 1 / websocket / Za ...的连接在页面加载时被中断”。
如果我使用0.0.0.0:8080也一样:我可以在右侧面板上看到更多调试器,如Watch表达式,调用堆栈,但源列表仍为空。
Node-inspector应该正在监听,因为如果我停止meteor说远程调试已经终止。我无法弄清楚我做错了什么。
答案 0 :(得分:1)
查看https://groups.google.com/forum/#!topic/meteor-talk/EG8pe7pF3f8
只想分享一些使用node-inspector的经验 调试服务器端代码: 1.当你运行Meteor时,它将在Linux机器上产生两个进程 (注意:我没有在Windows或Mac机器上检查过这个)
process1: /usr/lib/meteor/bin/node /usr/lib/meteor/app/meteor/
meteor.js
process2: /usr/lib/meteor/bin/node /home/paul/codes/bbtest_code/
bbtest02 / .meteor / local / build / main.js --keepalive
您需要在process2上发送kill -s USR1
- 醇>
运行node-inspector,您可以看到您的服务器代码
在我第一次尝试时,我修改了/中的meteor启动脚本中的最后一行 usr / lib / meteor / bin / meteor to
exec“$ DEV_BUNDLE / bin / node”$ NODE_DEBUG“$ METEOR”“$ @”
并运行NODE_DEBUG = - 在命令提示符下调试meteor。这只是 - 在process1上调试标志所以我只在node-inspector上看到流星文件 并找不到我的代码。 有关如何修改脚本的任何建议,以便我们可以使用“--debug” 流星脚本上的标志? 干杯, 保罗