2013-12-04 3 views
5

Я пытаюсь отлаживать свое приложение, но что-то останавливает приложение от фактического запуска, когда я использую флаг --debug-brk.Узел --debug-brk app.js не работает

Вот мой выход нормально:

/usr/local/bin/node app.js 
Express server listening on port 3000 
Connected to database HackRegDb 

Вот что происходит, когда я бегу --debug-BRK (с точки останова в точке в коде, который не будет хит на начальном запуске)

/usr/local/bin/node --debug-brk=59763 app.js 
debugger listening on port 59763 

См. Раздел «Службы прослушивания». Код тот же, очевидно, и нет точки останова, пока это не выплюнет.

Для справки, вот мой 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')); 
}); 

Я пропускаю что-то?

+0

Вы нашли причину проблемы? У меня точно такая же проблема, но с облачным облаком, работающим локально ... – GameScripting

ответ

0

Спасибо за все ответы. Проблема, похоже, была решена с помощью одного из многочисленных обновлений JetBrains. Я могу отлаживать правильно и без проблем сейчас.

9

--debug-brk= останавливает программу узла в первой строке, что означает, что она сломается перед запуском сервера. Затем вы можете подключить ваш отладчик и нажать «Продолжить», чтобы запустить программу.

Вы можете использовать --debug= для запуска отладчика, но не срыва в начале. Поэтому, если у вас есть строка debugger где-то в асинхронном коде, она все равно сломается, когда она ударит ее, если ваш отладчик подключен.

+0

Это не помогло, я обсуждаю проблему с JetBrains, так как она должна быть встроена (и мне не нужно было действительно знать об этих флагах). Спасибо за ответ. – Chris

3

Странно, но это помогло мне.

Я запускаю ту же командную строку, но без -brk.

/usr/local/bin/node --debug=59763 app.js 

Приложение успешно завершено. И затем последующие прогоны --debug-brk работали нормально.

/usr/local/bin/node --debug-brk=59763 app.js 
0

в JetBrains PhpStorm,

после запуска приложения узла, рядом отладочных инструментов в нижнем левом углу. есть молния (переключение на исключение).

для меня, не выбрав тот вариант, который исправил мою проблему.

Смежные вопросы