使用node-inspector调试meteorjs应用程序

时间:2014-02-08 06:50:10

标签: debugging meteor node-inspector

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

我创建了一个环境变量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说远程调试已经终止。我无法弄清楚我做错了什么。

1 个答案:

答案 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

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

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

  4.         

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

         

    exec“$ DEV_BUNDLE / bin / node”$ NODE_DEBUG“$ METEOR”“$ @”

         

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