node.js - 如何在meteor上远程调试服务器代码?

标签 node.js debugging meteor node-inspector

当我启动我的服务器时:

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

我得到控制台日志:

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


注意: 我想要远程调试,我不在运行 Meteor 应用程序的同一台计算机上。

最佳答案

要远程调试您的 Meteor 应用程序,您现在只需 use the node internal inspector并省略debug命令:

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

现在可以像往常一样使用公共(public)端口 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/

为了远程调试您的服务器端代码,您需要 node inspector client附加到 ws://127.0.0.1:9229/2ee5da2d-c15b-416a-9efc-a19bb1299f35,这是一个基于 websocket 的位置,不能通过 http://... 使用。

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

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

关于node.js - 如何在meteor上远程调试服务器代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54751284/

相关文章:

c++ - 调试期间 Qt Creator 中的外设寄存器

javascript - 获取与父字段一起分配的所有文档

node.js - 如何设置 meteor 测速镜端口?

node.js - 使用 nginx 和 Node 获取 ip 用户

javascript - 在 Android 上调试 javascript 时如何设置断点(并查看错误行号)?

meteor - Meteor.js 中如何设置 html/body 标签属性?

mongodb - "group by"对 meteor 收集的查询

javascript - 当页面重新加载时,使用 Node js 动态更改数据库中的内容

node.js - socket.io 客户端未接收

debugging - 如何调试 Ansible 包含和依赖项?