Проект Eclipse node.js не останавливается на точках останова

Я играю с Node.js и Eclipse, используя nodeclipse ( здесь), используя недавно установленный экземпляр Eclipse. У меня был опыт работы с Eclipse, но для этой цели это новая установка. Я использовал Node.js некоторое время, но я хотел посмотреть, что затмение может добавить к моим головным болям (или, надеюсь, облегчить (некоторые?) Их!). Узел --version v0.10.22 Версия Eclipse - версия: Kepler Service Release 2, идентификатор сборки: 20140224-0627.

Итак, я создал новый проект с New > Other.. > Nodeclipse > Node.js Express Project. Дали ему имя Hello World и приняли значения по умолчанию. Я обновил файл index.js, добавив несколько интересных вещей для добавления точек останова:

exports.index = function(req, res){
  res.render('index', { title: 'Express' });
  console.log( "here" );
  var i=45;
  i = i+3;
  console.log( i );
};

И я поставил точку останова на этой линии i = i+3. Я попытался запустить приложение Run as > Node, и оно не останавливается на моей точке останова, когда я нажимаю "mylclhost:3000" из моего браузера. Если я выполняю "Отладка как> Nodejs Application", то на нем появляется новая панель с синим хромом favicon (аналогично тому, что происходит с этим парнем), при этом нажатие mylclhost: 3000 приводит к 404, поэтому я нажимаю F8, чтобы продолжить, и mylclhost: 3000 работает как и ожидалось, но не достигнет точки останова.

Это мой вывод консоли Nodeclipse после Project Explorer > Щелкните правой кнопкой мыши app.js > Отладка как> Приложение узла: node --debug-brk=5858 C:\Users\person\AppData\Roaming\npm\node_modules\nodemon\bin\nodemon.js C:\Users\person\workspace\HelloWorld\app.js --tea-pot-mode

Это нормальный вывод консоли после нажатия F8 для продолжения после первой точки останова ( обратите внимание, что Nodeclipse по умолчанию входит в пошаговый режим отладки с самой первой строки):

debugger listening on port 5858
21 Mar 09:58:38 - [33m[nodemon] v1.0.15[39m
21 Mar 09:58:38 - [33m[nodemon] to restart at any time, enter `rs`[39m
21 Mar 09:58:38 - [33m[nodemon] watching: *.*[39m
21 Mar 09:58:38 - [32m[nodemon] starting `node C:\Users\person\workspace\HelloWorld\app.js --tea-pot-mode`[39m
Express server listening on port 3000

Затем я указываю своему браузеру lclhost: 3000 и получаю страницу успеха, нормальная консоль сообщает:

.... other stuff....
Express server listening on port 3000
[90mGET / [36m304 [90m234ms[0m
here
48
[90mGET /stylesheets/style.css [36m304 [90m4ms[0m

Соответствующий код с точкой останова (отмечен *):

exports.index = function(req, res){
  res.render('index', { title: 'Express' });

  console.log( "here" );
  var i=45;
 *i = i+3;

  console.log( i );

};

Вы можете видеть, что он печатает "48" в консоли и полностью пропускает точку останова.

Как я уже сказал, это новая установка, поэтому ссылка, приведенная выше, не очень полезна. Я подозреваю, что это связано с асинхронной природой Node.js, но кажется, что другие люди успешно заставили это работать.

Любые идеи, или что-то, что мне не хватает?

2 ответа

Вы можете попробовать запустить node --debug-brk=5858 app.js в командной строке, а затем запустить отладчик затмения на файл. Это сработало для меня. Я использую Enide Studio 2014.

Потратьте время, чтобы узнать больше вещей.

Вы, кажется, не читали даже http://www.nodeclipse.org/ домашнюю страницу, ссылки, как получить поддержку http://www.nodeclipse.org/

Run As > stats Node.js в режиме без отладки, поэтому, конечно, это не остановит.

Вместо New > Other.. > Nodeclipse > Node.js Экспресс-проект переключается на перспективу Node.

Смотрите также Отладчик Nodeclipse, игнорирующий точки останова

Если проблема все еще существует, поднимите проблему, предоставив информацию, снова упомянутую в http://www.nodeclipse.org/

Другие вопросы по тегам