如何在meteor.startup上调试使用node-inspector

时间:2013-12-01 17:01:22

标签: meteor

我尝试使用node-inspector调试meteor。

/ server目录下有两个'.js'文件:

main.js

Meteor.startup(function(){
    var a = 1;
    var  b =2;
    console.log(a+b);
});

test.js

Meteor.methods({
    hello:function(){
        var c = 3 ;
        var d = 4;
    }
});

首先,我设置了环境NODE_OPTIONS='--debug' 并运行meteor。在另一个CMD运行node-inspector

我在Chrome上打开localhost:8080/debug?port=5858 找到文件“app / server / main.js”并在3行设置调试标志。像这样:

 
(function(Npm, Assets){(function(){Meteor.startup(function(){
    var a = 1;
    var  b =2;  //debug at here
    console.log(a+b);
});

})();

})

但没有任何事情发生,在cmd,console.log(a+b);的结果已经打印出来了。另一方面,如果我在“app / server / test.js”中设置调试标志并在Meteor.call("hello")的控制台上运行localhost:3000,那么断点可以正常工作。

在上面,我无法在Meteor.startup上进行调试。

接下来,我尝试使用NODE_OPTIONS='--debug-brk'

我重新运行meteor 并刷新localhost:8080/debug?port=5858

它会在

处中断
(function (exports, require, module, __filename, __dirname) { process.argv.splice(2, 0, 'program.json');

然后我再次按F10,调试标志似乎没有发生在app/server/main.js。同时,如果在test.js上调试并在客户端chrome处调用Meteor.call,那么断点也可以正常工作。

如何在函数Meteor.startup(function(){...})

上进行调试

我忘记的步骤是什么?

1 个答案:

答案 0 :(得分:0)

有一个issue related to node-inspector。取决于您的版本,也许您可​​以尝试downgrade to 1.10