首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Meteor:在服务器端调试

Meteor:在服务器端调试
EN

Stack Overflow用户
提问于 2012-06-14 22:11:12
回答 12查看 33.3K关注 0票数 78

有谁知道调试服务器端代码的好方法吗?我尝试启用Node.js调试,然后使用节点检查器,但没有显示我的任何代码。

我最终使用了console.log,但效率非常低。

Linux更新:我发现以下过程可以在我的机器上运行:

  1. 当你运行流星时,它会产生两个进程

process1: /usr/lib/meteor/bin/node /usr/lib/meteor/app/meteor/mete.js

process2: /usr/lib/meteor/bin/node /home/paul/codes/bbtest_code/bbtest02/.meteor/local/build/main.js --keepalive

  • You需要发送kill -s USR1 on process2

  • 运行

-process2,您就可以看到您的服务器代码了

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

代码语言:javascript
复制
exec "$DEV_BUNDLE/bin/node" $NODE_DEBUG "$METEOR" "$@"

并在命令提示符下运行NODE_DEBUG=--debug meteor。这只在process1上放了--debug标志,所以我只能在节点检查器上看到meteor文件,而找不到我的代码。

有人能在Windows和Mac机器上检查一下吗?

EN

回答 12

Stack Overflow用户

发布于 2013-02-22 18:20:59

在Meteor 0.5.4中,这变得容易多了:

首先从终端运行以下命令:

代码语言:javascript
复制
npm install -g node-inspector
node-inspector &
export NODE_OPTIONS='--debug-brk'
meteor

然后在浏览器中打开http://localhost:8080以查看节点检查器控制台。

更新

从Meteor 1.0开始,你只需输入

代码语言:javascript
复制
meteor debug

这实际上是上述命令的快捷方式,然后在浏览器中启动节点检查器,如上所述。

更新

在Meteor 1.0.2中添加了控制台或shell。在服务器上输出变量和运行命令可能会派上用场:

代码语言:javascript
复制
meteor shell
票数 88
EN

Stack Overflow用户

发布于 2013-02-14 19:07:29

Meteor应用程序是Node.js应用程序。当使用meteor [run]命令运行Meteor应用程序时,您可以使用configure the NODE_OPTIONS environment variable to start node in debug mode

NODE_OPTIONS环境变量值的示例:

  • --debug
  • --debug=47977 -在第一条statement
  • --debug-brk=5858上指定port
  • --debug-brk - break -在第一条语句

上指定端口和中断

如果使用export NODE_OPTIONS=--debug,则从同一shell运行所有meteor命令都将继承环境变量。或者,您可以使用NODE_OPTIONS="--debug=47977" meteor仅为一次运行启用调试。

要进行调试,请在不同的shell中运行node-inspector,然后转到http://localhost:8080/debug?port=<the port you specified in NODE_OPTIONS>,而不管node-inspector告诉您运行什么。

票数 16
EN

Stack Overflow用户

发布于 2012-07-29 21:15:23

要在调试模式下启动node.js,我是这样做的:

打开/usr/lib/meteor/app/meteor/run.js

  • before的

nodeOptions.push(path.join(options.bundlePath,'main.js'));

添加

nodeOptions.push('--debug');

以下是附加调试器eclipse的其他实际步骤:

在这里使用‘---brk’而不是‘--

  1. ’,因为使用eclipse作为调试器可以更容易地附加调试器。node.js
  2. 在您想要调试的代码中添加' debugger ;‘。(我更喜欢这种方式在console
  3. attach中等待meteor而不是eclipse中的node.js (V8 tools,attach to node.js personally)
  4. run debugger be hit

当您在meteor应用程序文件夹中启动meteor时,您将在控制台中看到“调试器正在侦听端口5858”。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11034941

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档