首页 > 解决方案 > 如何在流星上远程调试服务器代码?

问题描述

当我启动我的服务器时:

 ROOT_URL="http://myserver:24000" meteor debug --settings config/settings.json --port 24000 --inspect

我得到了 cosole 日志:

Debugger listening on ws://127.0.0.1:9229/a540a686-0a99-4a2a-ae85-bf06f74bc274
For help see https://nodejs.org/en/docs/inspector

但是当我尝试访问http://myserver:9229/a540a686-0a99-4a2a-ae85-bf06f74bc274 时,我得到站点不可用....

我在用:

Meteor v1.8.0.2
Node: v8.11.4


注意: 我想远程调试,我不在运行我的流星应用程序的同一台机器上。

标签: node.jsdebuggingmeteornode-inspector

解决方案


要远程调试您的 Meteor 应用程序,您现在只需使用节点内部检查器并省略debug命令:

ROOT_URL="http://myserver:24000" meteor --inspect --settings config/settings.json --port 24000

现在它像往常一样使用公共端口 24000 运行您的 Meteor 应用程序。现在控制台应该向您显示以下输出:

=> Started proxy.                             
=> Started MongoDB.                           
W20190218-21:01:14.539(1)? (STDERR) Debugger listening on ws://127.0.0.1:9229/2ee5da2d-c15b-416a-9efc-a19bb1299f35
W20190218-21:01:14.552(1)? (STDERR) For help see https://nodejs.org/en/docs/inspector
=> Started your app.

=> App running at: http://myserver:24000/

为了远程调试您的服务器端代码,您需要一个节点检查器客户端附加到ws://127.0.0.1:9229/2ee5da2d-c15b-416a-9efc-a19bb1299f35它是一个基于 websocket 的位置,并且不能通过http://....

如果您使用 chrome,您只需输入chrome://inspect并查看您的 Meteor 应用程序(这是Meteor 1.8.0.2的内部版本)Remote Target应该有条目的列表。单击,控制台现在应该打印Target (v8.11.4)nodeinspect

W20190218-21:08:48.039(1)? (STDERR) Debugger listening on ws://127.0.0.1:9229/2ee5da2d-c15b-416a-9efc-a19bb1299f35 W20190218-21:08:48.040(1)? (STDERR) For help see https://nodejs.org/en/docs/inspector W20190218-21:08:49.291(1)? (STDERR) Debugger attached.

现在在另一个选项卡或浏览器窗口中打开您的应用程序http://myserver:24000/并使用它,直到debugger触发服务器端代码上的断点并观察检查器选项卡切换到调试模式(正如您可能已经从客户端调试中知道的那样)。


推荐阅读