Узел JS Отладка приложений [дубликат]

Поместите кавычки вокруг $username. Строковые значения, в отличие от числовых значений, должны быть заключены в кавычки.

$result = mysql_query("SELECT * FROM Users WHERE UserName LIKE '$username'");

Кроме того, нет смысла использовать условие LIKE, если вы не используете подстановочные знаки: если вам нужно точное совпадение использует = вместо LIKE.

1406
задан Peter Mortensen 20 December 2015 в 11:19
поделиться

21 ответ

Отладчик V8 , выпущенный как часть Google Chrome Developer Tools , может использоваться для отладки сценариев Node.js. Подробное объяснение того, как это работает, можно найти в Node.js GitHub wiki .

Существует также ndb , отладчик командной строки, написанный в Сам Node.js.

210
ответ дан totymedli 26 August 2018 в 11:57
поделиться

У узла есть собственный встроенный отладчик GUI с версии 6.3 (с использованием DevTools от Chrome)

Просто передайте флаг инспектора, и вам будет предоставлен URL-адрес инспектора:

node --inspect server.js

Вы также можете разбить первую строку, передав --inspect-brk.

Чтобы открыть окно Chrome автоматически, используйте модуль inspect-process .

# install inspect-process globally
npm install -g inspect-process

# start the debugger with inspect
inspect script.js
155
ответ дан Alister Norris 26 August 2018 в 11:57
поделиться

Использование версии Chrome 67.0.3396.62 (+)

  1. Запустить узел app

node --inspect = 0.0.0.0: 9229 server .js

  1. Открыть DevTools.
  2. Щелкните значок узла рядом с пиктограммой чувствительного устройства.

Появится другое окно DevTools, которое выйдет специально для приложения узла для отладки.

3
ответ дан babidi 26 August 2018 в 11:57
поделиться

Отладка

Профилирование

  1. node --prof ./app.js
  2. node --prof-process ./the-generated-log-file

Heapdumps

Флагграфы

Трассировка

Регистрация

Библиотеки, которые выводят информацию отладки

Библиотеки, которые улучшают информацию трассировки стека

Бенчмаркинг

Другое

Наследие

Они используют для работы, но больше не поддерживается или больше не применимо к современным версиям узлов.

675
ответ дан balupton 26 August 2018 в 11:57
поделиться

Я создал аккуратный маленький инструмент под названием pry.js , который может вам помочь.

Поместите простую инструкцию где-нибудь в свой код, запустите свой скрипт нормально и узел остановится текущий поток дает вам доступ ко всем вашим переменным и функциям. Просматривать / редактировать / удалять их по желанию!

pry = require('pryjs')

class FizzBuzz

  run: ->
    for i in [1..100]
      output = ''
      eval(pry.it) # magic
      output += "Fizz" if i % 3 is 0
      output += "Buzz" if i % 5 is 0
      console.log output || i

  bar: ->
    10

fizz = new FizzBuzz()
fizz.run()
8
ответ дан BlaineSch 26 August 2018 в 11:57
поделиться

Существует много возможностей ...

Поддержка отладки часто реализуется с использованием протокола v8 Debugging Protocol или более нового протокола отладки Chrome .

3
ответ дан cmd 26 August 2018 в 11:57
поделиться

Я написал другой подход для отладки кода Node.js, который является стабильным и чрезвычайно простым. Он доступен в https://github.com/sa/iron-node .

Enter image description here [/g1]

платформенный визуальный отладчик

Установка:

npm install iron-node -g;

Отладка:

iron-node yourscript.js;

19
ответ дан Community 26 August 2018 в 11:57
поделиться

node-inspector может спасти день! Используйте его из любого браузера, поддерживающего WebSocket . Точки останова, профайлер, livecoding и т. Д. Это действительно потрясающе.

Установите его с помощью:

npm install -g node-inspector

Затем запустите:

node-debug app.js
1194
ответ дан daralthus 26 August 2018 в 11:57
поделиться

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

7
ответ дан Josh Habdas 26 August 2018 в 11:57
поделиться

В Node.js. имеется встроенный клиент командной строки отладчика . Cloud 9 IDE также довольно приятный (визуальный) отладчик .

8
ответ дан keen 26 August 2018 в 11:57
поделиться
node-debug -p 8888 scriptFileName.js
1
ответ дан matt burns 26 August 2018 в 11:57
поделиться

Использовать Webstorm! Он идеально подходит для отладки приложений Node.js. Он имеет встроенный отладчик. Ознакомьтесь с документами здесь: https://www.jetbrains.com/help/webstorm/2016.1/running-and-debugging-node-js.html

5
ответ дан OneMoreQuestion 26 August 2018 в 11:57
поделиться

Я бы использовал GOOD в Walmart Labs. Он выполнит эту работу, и он очень гибкий:

var hapi = require('hapi');
var good = require('good');
var server = hapi.createServer('localhost', 5000,{});
server.route({SOME ROUTE HERE});
server.start();

var options = {
subscribers: {
    'console':               ['ops', 'request', 'log', 'error'],
    'http://localhost/logs': ['log']
    }
};
server.pack.require('good', options, function (err) {

    if (!err) {
        console.log('Plugin loaded successfully');
    }
});
52
ответ дан Peter Mortensen 26 August 2018 в 11:57
поделиться

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

Отладочные журналы

Посмотрим правде в глаза, мы все любим хороший console.log('Uh oh, if you reached here, you better run.'), и иногда это отлично работает, поэтому, если вы не согласны с тем, чтобы двигаться слишком далеко от него, по крайней мере, добавьте bling в свои журналы с помощью debugg Visionmedia.

Интерактивная отладка

Так же удобно, как ведение журнала консоли, чтобы отлаживать профессионально, вам нужно засучить рукава и застрять. Установите точки останова, выполните свой код, проверите области и переменные, чтобы увидеть, что вызывает это странное поведение. Как отмечали другие, node-inspector действительно является пчелиными колени. Он делает все, что вы можете сделать со встроенным отладчиком, но используя этот знакомый интерфейс Chrome DevTools. Если, как и я, вы используете Webstorm, тогда здесь является удобным руководством для отладки оттуда.

Трассировка стека

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

Утечки памяти

С помощью Node.js мы можем иметь серверный процесс Ожидается, что вы останетесь надолго. Что вы делаете, если думаете, что это вызвало некоторые неприятные утечки? Используйте heapdump и Chrome DevTools, чтобы сравнить некоторые снимки и посмотреть, что меняется.


Для некоторых полезных статей посмотрите

Если вы чувствуете, что смотрите видео (ы), затем

Какой бы путь вы ни выбрали, просто убедитесь, что вы понимаете, как вы отлаживаете

Это болезненная вещь. Посмотрите на свою что вы сами и никто другой не сделал это

Sophocles, Ajax

32
ответ дан Philip O'Brien 26 August 2018 в 11:57
поделиться

Запустите процесс узла с помощью --inspect.

node --inspect index.js

, а затем откройте chrome://inspect в хроме. Нажмите ссылку «Открыть выделенный DevTools для узла» или установите это расширение chrome для легкого открытия хром DevTools.

Для получения дополнительной информации см. эту ссылку / g5]

6
ответ дан Rahul Kumar 26 August 2018 в 11:57
поделиться

Версия Node.js 0.3.4+ имеет встроенную поддержку отладки.

node debug script.js

Руководство: http://nodejs.org/api/ debugger.html

84
ответ дан Salman Abbas 26 August 2018 в 11:57
поделиться

Код Visual Studio будет моим выбором для отладки. Нет накладных расходов на установку каких-либо инструментов или файлов npm install. Просто установите начальную точку вашего приложения в package.json и VSCode автоматически создаст файл конфигурации внутри вашего решения. Он построен на Electron , на котором построены редакторы, такие как Atom.

VS Code дает аналогичный опыт отладки, как вы могли бы иметь в других средах IDE, таких как VS, Eclipse и т. Д. .

52
ответ дан Shreyas 26 August 2018 в 11:57
поделиться

Тезис - это проект исследования Adobe, который позволяет отлаживать ваш код Node.js в редакторе Open Source Brackets . Он имеет некоторые интересные функции, такие как покрытие в режиме реального времени, ретроспективный контроль, асинхронное дерево вызовов.

screenshot [/g2]

36
ответ дан Sindre Sorhus 26 August 2018 в 11:57
поделиться

Код Visual Studio будет работать для нас при отладке.

8
ответ дан Surendra Parchuru 26 August 2018 в 11:57
поделиться

IntelliJ отлично работает для Node.js.

Кроме того, IntelliJ хорошо поддерживает «Code Assistance».

3
ответ дан 卢声远 Shengyuan Lu 26 August 2018 в 11:57
поделиться

У IDE NetBeans была поддержка Node.js, поскольку версия 8.1 :

& lt; ...>

Новые функции Основные возможности

Разработка приложений Node.js

  • Мастер проекта Node.js
  • Новый мастер Node.js Express
  • ]
  • Улучшенный редактор JavaScript
  • Новая поддержка для запуска приложений Node.js
  • Новая поддержка отладки приложений Node.js.

& lt ; ...>

Дополнительные ссылки:

  1. NetBeans Wiki / NewAndNoteworthyNB81 .
  2. Приложение Node.js Express в среде IDE NetBeans, Geertjan-Oracle .
52
ответ дан Peter Mortensen 26 August 2018 в 11:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: