节点--debug-brk app.js无法运行

Chr*_*ris 5 javascript node.js

我正在尝试调试我的应用程序,但当我使用--debug-brk标志时,有些东西阻止了应用实际启动.

这是我的输出正常:

/usr/local/bin/node app.js
Express server listening on port 3000
Connected to database HackRegDb
Run Code Online (Sandbox Code Playgroud)

这是当我运行--debug-brk时发生的事情(在代码中的一个点处有一个断点,在初始启动时不会被击中)

/usr/local/bin/node --debug-brk=59763 app.js
debugger listening on port 59763
Run Code Online (Sandbox Code Playgroud)

请参阅,没有"服务器侦听"部分.代码显然是相同的,并且在吐出之前没有断点.

作为参考,这是我的app.js文件:

var express = require('express')
  , routes = require('./routes')
  , members = require('./routes/members')
  , teams = require('./routes/teams')
  , http = require('http')
  , path = require('path');

var app = express();

// all environments
app.set('port', process.env.PORT || 3000);
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(express.session());
app.use(app.router);
app.use(express.static(path.join(__dirname, 'public')));

// development only
if ('development' == app.get('env')) {
  app.use(express.errorHandler());
}

app.get('/', routes.index);
app.get('/members', members.list);
app.get('/teams', teams.list);
app.post('/members', members.add);
app.post('/teams', teams.add);
app.put('/members/:id', members.update);
app.put('/teams/:id', teams.update);

http.createServer(app).listen(app.get('port'), function(){
  console.log('Express server listening on port ' + app.get('port'));
});
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?

log*_*yth 10

--debug-brk=在第一行停止节点程序,这意味着它将在启动服务器之前中断.然后,您可以连接调试器并单击"继续"以运行该程序.

您可以使用--debug=启动调试器,但不能在开始时中断.因此,如果你debugger在异步代码中的某个地方有一行,那么如果连接了调试器,它仍然会在它命中时断开.


Chr*_*ris 0

感谢所有的答案。该问题似乎已通过 JetBrains 的众多更新之一得到解决。我现在可以正确调试并且没有问题。