Qic*_*ong 9 debugging serverside-javascript node.js node-inspector meteor
没关系.这不工作的原因:我忘了,meteor reset所以debugger也没有机会停下来.咄!
更多信息:我在Mason Chang的回答中使用了相关问题的方法,而不是kill -s USR1 [proc_id](我可以看到脚本,但无法在startup()函数中停止).另外,我正在使用陨石.
我正在尝试使用node-inspector 调试Meteor服务器端(即下)的Meteor.startup(function())代码/server,我已经阅读了这个问题,并按照更改的答案run.js,但不知何故,我自己的脚本为启动功能未显示在Chrome的脚本部分中.
如何在此处查看我的代码并设置断点并停在这些点?顺便说一下,Meteor_debug()不会向stdout,stderr或node-inspector浏览器控制台输出任何内容.我也试过console.log()但没有用.如何在Meteor服务器端启用日志记录?
如果重要,我在auth分支机构.
这里的代码非常简单(/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);
}
}
});
Run Code Online (Sandbox Code Playgroud)
Qic*_*ong 10
现在我知道如何做到这一点,我将回答我自己的问题,以便我们可以在这里保留这些信息(详细信息):(这是基于Mason Chang对这个问题的回答.)
/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']['--debug-brk', path.join(bundle_path, 'main.js'), '--keepalive']debugger在服务器代码中将语句添加为断点;node-inspector &在服务器终端中运行.(google"node-inspector"来安装它.)node-inspector.)main.js在您的[PROJECT_DIR]/.meteor/local/build)中停止;debugger语句的位置,您可能必须在客户端浏览器窗口中执行一些触发操作才能运行到debugger断点.(请注意,如果等待太长时间按下RUN按钮,则客户端窗口可能会超时,您必须再次刷新.)编辑:对于在服务器端登录,您可以使用Meteor._debug()和console.log(),它们将显示在您运行的终端中meteor.在客户端,这些日志记录语句将输出到浏览器开发人员的控制台.工具.
| 归档时间: |
|
| 查看次数: |
6671 次 |
| 最近记录: |