【发布时间】:2012-03-30 07:08:53
【问题描述】:
我有一些代码看起来很像http://nodejs.org/docs/v0.6.0/api/cluster.html 上的集群文档中的示例:
var cluster = require('cluster');
var server = require('./mycustomserver');
var numCPUs = require('os').cpus().length;
if (cluster.isMaster) {
var i;
// Master process
for (i = 0; i < numCPUs; i++) {
cluster.fork();
}
cluster.on('death', function (worker) {
console.log('Worker ' + worker.pid + ' died');
});
} else {
// Worker process
server.createServer({port: 80}, function(err, result) {
if (err) {
throw err;
} else {
console.log('Thread listening on port ' + result.port);
}
});
}
我已经安装了 node-inspector 并尝试使用它和 https://github.com/joyent/node/wiki/Using-Eclipse-as-Node-Applications-Debugger 详细介绍的 Eclipse V8 插件来调试我的应用程序,但看起来我无法将调试器连接到分叉的集群实例以将断点放置在有趣的服务器逻辑——我只能调试产生集群进程的应用程序部分。有人知道我是否真的可以做这样的事情,还是我必须重构我的应用程序以在调试模式下只使用一个线程?
我是一个 Node.js 新手,所以我希望这里有一些我明显遗漏的东西。
【问题讨论】:
标签: debugging node.js fork cluster-computing