1

我正在尝试在服务器端调试流星应用程序。

我创建了一个环境变量 export NODE_OPTIONS='--debug'。

我运行流星(版本 0.7.0.1)命令。它告诉调试器侦听端口 5858。

我启动节点检查器(版本 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 表达式、调用堆栈,但 Source 列表仍然是空的。

节点检查器应该正在监听,因为如果我停止流星说远程调试已经终止。我无法弄清楚我做错了什么。

4

1 回答 1

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/

流星.js

 process2: /usr/lib/meteor/bin/node /home/paul/codes/bbtest_code/

bbtest02/.meteor/local/build/main.js --keepalive

  1. 您需要在 process2 上发送 kill -s USR1

  2. 运行 node-inspector,你可以看到你的服务器代码

在我第一次尝试时,我将 /usr/lib/meteor/bin/meteor 中流星启动脚本的最后一行修改为

exec "$DEV_BUNDLE/bin/node" $NODE_DEBUG "$METEOR" "$@"

并在命令提示符下运行 NODE_DEBUG=--debug meteor 。这只会在 process1 上放置 -- debug 标志,所以我只能在 node-inspector 上看到流星文件并且找不到我的代码。关于如何修改脚本以便我们可以在流星脚本上使用“--debug”标志的任何建议?干杯,保罗

于 2014-02-10T09:26:52.583 回答