如何在 Meteor 的服务器端调试并记录自己的代码?

2023-12-19

没关系。这不起作用的原因:我忘记了meteor reset so debugger没有机会停下来。呃!

更多信息:我正在使用Mason Chang对相关问题的回答中的方法,而不是kill -s USR1 [proc_id](我可以看到脚本,但无法在startup()函数中停止。)。另外,我正在使用陨石。

我正在尝试调试流星.startup(函数()) http://docs.meteor.com/#meteor_startupMeteor 服务器端的代码(即,在/server)与节点检查器,我已经读过这个question https://stackoverflow.com/questions/11034941/meteor-debug-on-server-side,并按照答案进行更改run.js,但不知何故,我自己的启动功能脚本没有显示在 Chrome 的脚本部分中。

如何在此处查看我的代码并设置断点并在这些点处停止?顺便说一句,Meteor_debug() 不会向 stdout、stderr 或节点检查器浏览器控制台输出任何内容。我也尝试过 console.log() 但没有成功。如何在 Meteor 服务器端启用日志记录?

如果重要的话,我就在auth branch.

这里的代码非常简单(/server/bootstrap.js):

Meteor.startup(function () {
 if (Logs.find().count() === 0) {
  var data = [/*...some data...*/];
  var timestamp = (new Date()).getTime();
  Meteor._debug("timestamp: "+timestamp+", data.len: " + data.length);
  debugger;
  for (var i = 0; i < data.length; i++) {
    data[i].timestamp = timestamp++;
    var entry_id = Logs.insert(data[i]);
    Meteor._debug("entry_id: "+ entry_id);
  }
 }
});

现在我知道如何做到这一点,我将回答我自己的问题,以便我们可以在此处保留此信息(详细信息):(这是基于 Mason Chang 对此的回答question https://stackoverflow.com/questions/11034941/meteor-debug-on-server-side.)

  1. 停止流星执行。
  2. Edit /usr/lib/meteor/app/meteor/run.js(或相应的run.js由陨石安装在HOME//.meteorite/meteors/meteor/meteor/[LONG_HEX_CODE]/app/meteor):
    改变线路
    [path.join(bundle_path, 'main.js'), '--keepalive']
    to
    ['--debug-brk', path.join(bundle_path, 'main.js'), '--keepalive']
    //--debug-brk 使新线程在第一行中断;
  3. Add debugger语句作为服务器代码中的断点;
  4. Run node-inspector &在服务器终端中。 (谷歌“node-inspector”来安装它。)
  5. 奔跑流星; (如果没有打开客户端窗口,则不会附加调试器,因为还没有服务器线程。)
  6. 刷新客户端浏览器窗口; (启动一个服务器线程,该线程将在第一行中断,并附加到node-inspector.)
  7. 打开浏览器窗口 [SERVER:8080],您的服务器代码停在第一行(main.js在你的[PROJECT_DIR]/.meteor/local/build);
  8. 点击调试器浏览器窗口上的 RUN 按钮;取决于你的位置debugger声明是,您可能需要在客户端浏览器窗口中执行一些触发操作才能运行到debugger断点。 (请注意,如果您等待太长时间才点击“运行”按钮,您的客户端窗口可能会超时,并且您必须再次刷新。)
  9. 现在,您可以在服务器调试器窗口中执行常规调试操作:单步调试、监视变量、在控制台中执行、查看堆栈等。

Edit:要在服务器端登录,您可以使用 Meteor._debug() 和 console.log(),它们将显示在您运行的终端中meteor。在客户端,这些日志记录语句将输出到浏览器开发人员的控制台。工具。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Meteor 的服务器端调试并记录自己的代码? 的相关文章

  • 如何使用 pollingThrottle 和 pollingInterval?

    所以我的应用程序中有一些东西我不需要立即反应并找到有关属性的信息轮询节流阀 and 轮询间隔在文档中 所以这里基本上是我设法找到的有关这些属性的所有信息 pollingIntervalMs 数 仅限服务器 在服务器上观察时轮询此查询的频率
  • 在 64 位计算机上捕获的 32 位进程的调试转储

    我最近收到一位客户发来的 64 位故障转储 我们的进程都是32位的 但是客户的机器运行的是x64 Server 2008 Visual Studio 2008 和 2010 Express 告诉我必须使用 64 位版本MSVSMON EXE
  • Mongoose 在结果的 _id 字段中返回“new ObjectId”

    当我尝试查询时 结果包含 id其中包含 new ObjectId 的字段 如何避免这种 new ObjectId 并仅将哈希值包含为字符串 由于此问题 将数据作为 JSON 响应发送回失败 下面是一个基本的demo 我的查询代码 book
  • 如何使用PNGJS库从rgb矩阵创建png?

    我无法从此处的文档创建 PNG 文件 编码 https github com niegowski node pngjs https github com niegowski node pngjs 该文档提供了有关操作现有 PNG 的示例 为
  • 如何在 firebug 中导致调试中断

    我试图在检测到错误时让萤火虫中断 具体来说 我在代码中进行了一些内部检查 例如断言 我希望 Firebug 在失败时停止 我尝试了几种不同的方法 并想知道其他人是怎么做的 以下是我尝试过的方法 输入一些无效代码 以便如果出现错误 函数断言
  • 无法将环境变量传递给 docker

    我正在尝试使用环境变量运行 docker 映像 但它对我来说不起作用 无论是使用 env list 文件还是通过命令行 docker run p 49160 8080 d appname e FOO foo 来自守护程序的错误响应 OCI
  • 在 IntelliJ IDEA 中编辑并继续?

    使用 IntelliJ IDEA 社区版进行调试时是否可以编辑一些代码 我在选项中找不到这个功能 是的 这就是所谓的 热插拔 您可以在调试过程中编译修改后的代码 并且类文件将被替换 直到您停止调试 确保在调试器设置中启用 HotSwap 选
  • 测试期间的 Mocha beforeEach 和 afterEach

    我一直在尝试使用摩卡测试我的测试服务器 这是我使用的以下代码 与另一篇类似帖子中找到的代码几乎相同 beforeEach function done Setup console log test before function ws on
  • 如何在 PHP 中获取有用的错误消息?

    我经常尝试运行 PHP 脚本 但只是得到一个空白屏幕 无错误信息 只是一个空屏幕 原因可能是一个简单的语法错误 错误的括号 缺少分号 或者函数调用失败 或者完全是其他原因 很难找出哪里出了问题 我最终注释掉了代码 在各处输入 echo 语句
  • NESTJS AWS Lambda 和 Sequelize 连接池

    由于我已经给出了下面代码片段中提到的池参数 因此是否有必要在每次 lambda 调用后关闭连接 这个 aws lambda 函数应该每分钟触发一次 池参数仅足以关闭连接吗 export const databaseProviders pro
  • 当我尝试连接本地主机时出现 ERR_SSL_PROTOCOL_ERROR

    我开始研究 Node js 并尝试将 ionic 应用程序与我创建的后端 NodeJS 应用程序连接 但出现此错误 OPTIONS https localhost 3000 插入 https localhost 3000 insert净 E
  • 将数据从 javascript/html 页面发送到 Express NodeJS 服务器

    我正在使用 html5 和 javascript 开发 cordova 应用程序 该架构如下 电话应用程序向服务器请求某些内容 服务器请求 firebird 数据库 数据库回答服务器 服务器将所请求的数据提供给电话应用程序 在 html5
  • Nodejs 提供 1 个 api 端点和 1 个 html 页面

    这是我的问题 我从来没有在不使用express的情况下在node中写过东西 所以我发现很难创建一个具有基本API的服务器 我在网上找到的基本上是这样的 var http require http http createServer func
  • 在原子操作中测试和递减?

    我刚刚发现了一个恼人的错误 它基本上是一个竞争条件 为了便于论证 我们假设一个非常简单的文档结构 例如 id XXX amount 100 集合中存在数百个这样的文档 并且由多个编写器访问 这些编写器有效地尝试将数量降低任何值 但绝不会低于
  • .net 垃圾收集器何时运行?

    当我调试 net 代码时 如何知道垃圾收集器何时运行 我不想控制垃圾收集器何时运行 我只希望能够知道它何时运行 我有一些代码资源不足 我知道资源没有被使用 我想知道 GC 何时运行以释放它们 哦 我想到的资源是来自 Sql 连接池的连接 而
  • Javascript/Node 中从不执行用户代码的隐藏线程:是否可能,如果可能,是否会导致竞争条件的神秘可能性?

    根据评论 答案 请参阅问题底部的更新 这个问题实际上是关于可能性的hidden不执行回调的线程 我有一个关于潜在的神秘场景的问题 涉及节点请求模块 https www npmjs com package request其中 A 构建完整的
  • 使用 Sequelize.js 和 PostgreSQL 查询关联模型上的 JSONB 字段

    我有我的两个模型Foo and Bar Foo有一个字段barId 因此有一个Bar与其关联的对象 我可以查询我所有的Foo对象并包括它们的关联Bar对象如此 我正在使用 TypeScript续集打字稿 https github com R
  • Node.js 连接 createServer 代码

    我正在阅读 Node js Connect 版本 2 15 0 Create a new connect server return Function api public function createServer function ap
  • 如何远程调试Lua?

    我正在寻找远程调试 Lua 的最佳方法 例如从网络浏览器 I saw RemDebug http www keplerproject org remdebug 但最后一次项目更新是在 2006 年完成的 它适用于 Lua 5 0 和 5 1
  • 如何在nodejs中处理大量对象

    我想处理长度约为 100 000 的数组 而不会给 CPU 带来太多负载 我研究了流并偶然发现了 highlandjs 但我无法使其工作 我也尝试过使用 Promise 和分块处理 但它仍然给 CPU 带来很大的负载 如果需要 程序可能会很

随机推荐

  • IE11 中的 http 伪流

    我有一些视频 我需要能够找到其中的各个点 而无需在该点之前下载整个视频 到目前为止 我使用带有 NodeJS 的 html5 视频标签和 vid streamer 模块 在 Firefox 和 Chrome 中运行得很好 然而 IE 11
  • 选择数组结束项的最有效方法?

    我正在寻找最有效的方法 即按下较小的键 来索引数组的最后一个元素 然后像 a lt c 1 2 3 n lt length a b lt a n 不应该使用 我想只使用一个命令 在上面的例子中我可以使用 b lt a length a 但我
  • Android 清除/完成之前的活动(除了一项)

    在android中我有以下路径 活动 1 gt 活动 2 gt 活动 3 gt 活动 N gt 按下按钮 当按下按钮时 我想清除 完成从活动 2 到 N 的所有活动 然后转到活动 X 换句话说 我想完成所有活动 直至最初的一个 然后移至另一
  • 在 R 中识别传单中栅格上的点击位置

    我正在绘制一个大型经纬度 NetCDFraster超过一个Rleaflet地图使用shinydashboard 当我单击地图时 会出现一个弹出窗口 显示行 列 经纬度位置和单击的栅格点的值 参见下面的可重现代码 问题是 如果栅格足够大 我会
  • 进度条无法使用带有 Angular cli 的 Service Worker

    我们正在开发 Angular 4 应用程序 并使用 cli 启用服务工作人员 一切都很好 除了文件上传进度条停留在 0 只有完成后才会达到 100 我们怀疑这是由于 Service Worker 造成的 因为我们在开发环境中没有看到它 奇怪
  • 如何使用gcloud命令行部署多个功能?

    我想部署多个云功能 这是我的index js const batchMultipleMessage require gcf 1 const batchMultipleMessage2 require gcf 2 module exports
  • 我可以请求 SQL Server 缓存某个结果集吗?

    某个查询正在从 ASP NET 页面调用 我在 Management Studio 中研究了该查询的执行计划 87 用于排序 我非常需要排序 否则显示的数据将毫无意义 无论如何 我是否可以请求 SQL Server 缓存排序的结果集 以便它
  • 是否可以在不知道c中数组长度的情况下使用gets?

    如果我们想在 c 中使用 gets 我们会这样做 int main void char str 100 while gets str printf s n str 我们必须先知道str的长度 即100 然后使用gets 是否可以在不知道c中
  • @Pattern 用于字母数字字符串 - Bean 验证

    我在 bean 中有一个变量名 我想添加 Pattern验证仅接受字母数字 目前 我有这个 NotNull Pattern regexp A Za z0 9 String name 但错误是Invalid regular expressio
  • 将 NSNumber 转换为 Float 时出现意外行为

    升级到 Xcode 9 3 9E145 后 我的应用程序显示了一些意外的行为 问题似乎在于将 NSNumber 转换为 Float 我用as为此类型转换运算符 请参阅以下示例 let n NSNumber init value 1 12 l
  • Web 操作系统实用吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我是一名全职 Web 开发人员 但我的根源是桌面程序员 现在似乎有很多关于 Web 操作系统的讨论 将 Web 应用程序合并到 Web 操作系统
  • django.core.exceptions.ImproperlyConfigured:设置 SECRET_KEY 环境变量

    这个项目工作正常 直到我使用 environ 将 SECRET KEY 和 DEBUG 作为环境变量 当我收到此错误后 输出是 env E ecommercedj gt python manage py runserver Tracebac
  • 如何在(简单)有向图中强制形成直边?

    我有以下简单的有向图 digraph clientproxyserver Client gt Proxy label Request from Client Proxy gt Server label Forwarded Request S
  • 悬停时切换 CSS 颜色

    我正在尝试向这样的类添加突出显示颜色 common box hover function common box addClass hover me 这可行 但为什么不行 common box hover function common bo
  • 管道在kedro中找不到节点

    我正在关注管道教程 https kedro readthedocs io en latest 03 tutorial 04 create pipelines html 创建所有需要的文件 启动 kedrokedro run node pre
  • 捕获并打印完整的 Python 异常回溯,无需停止/退出程序

    我想捕获并记录异常而不退出 例如 try do stuff except Exception as err print Exception err I want to print the entire traceback here not
  • 生成一定范围内的“n”个唯一随机数[重复]

    这个问题在这里已经有答案了 我知道如何在 Python 中生成一定范围内的随机数 random randint numLow numHigh 我知道我可以将其放入循环中以生成 n 个数字 for x in range 0 n listOfN
  • Python-删除uuencoding行

    我正在处理许多文本文件 其中 其中一些 包含 uuencoding 可以是 jpg 或 pdf 或 zip of xlsx 等 我不关心嵌入的 UUencoded 数据 所以我只想丢弃这些段落并保留其余文本 我正在努力思考如何想出一种只跳过
  • 在 pandas 中,如何查询列表?

    假设我有一个将列表作为其值的 DataFrame df pd DataFrame languages en fr author Dickens Charles Austen Jane 我可以轻松查询它的字符串 df df author Di
  • 如何在 Meteor 的服务器端调试并记录自己的代码?

    没关系 这不起作用的原因 我忘记了meteor reset so debugger没有机会停下来 呃 更多信息 我正在使用Mason Chang对相关问题的回答中的方法 而不是kill s USR1 proc id 我可以看到脚本 但无法在