Отладка

Техники и лучшие практики для отладки плагинов и обработки ошибок в процессе разработки вашего языкового модуля.

Отладка плагинов JavaScript, встроенных в C++ приложения, такие как Plugify, требует использования инспектора V8 для проверки и устранения неполадок в вашем коде JavaScript. Это руководство предоставляет обзор того, как отлаживать плагины JavaScript в этом контексте, и направляет вас к внешним ресурсам для получения подробных инструкций.

Предварительные требования

Перед отладкой ваших плагинов JavaScript убедитесь, что у вас есть следующее:

  • Движок V8 (версия 11.0 или новее), установленный и настроенный.
  • Node.js (необязательно, для запуска отладчика).
  • Основная библиотека Plugify (собрана и доступна).
  • Языковой модуль V8 (plugify-module-v8), установленный и настроенный.
  • Плагин JavaScript для отладки.

Отладка плагинов JavaScript с помощью инспектора V8

Инспектор V8 позволяет отлаживать код JavaScript, работающий в движке V8. Ниже приведены общие шаги по отладке плагинов JavaScript, встроенных в C++ приложения:

Включите инспектор V8 в Plugify

  1. Убедитесь, что языковой модуль V8 настроен для включения инспектора V8.
  2. Запустите Plugify с загруженным плагином JavaScript.

Подключитесь к инспектору V8

  1. Откройте браузер (например, Chrome или Edge) и перейдите по адресу chrome://inspect.
  2. В разделе Devices (Устройства) нажмите Configure (Настроить) и добавьте адрес и порт, на котором работает инспектор V8 (например, localhost:9229).
  3. Ваш плагин JavaScript должен появиться в разделе Remote Target (Удаленная цель). Нажмите Inspect (Инспектировать), чтобы открыть DevTools.

Установите точки останова

  • Откройте исходные файлы вашего плагина JavaScript в DevTools.
  • Установите точки останова в вашем коде, щелкая на левом поле рядом с номерами строк.

Отладьте ваш плагин

  • Активируйте функциональность в вашем плагине, которую вы хотите отладить.
  • Отладчик приостановит выполнение на ваших точках останова, позволяя вам проверять переменные, пошагово выполнять код и анализировать стек вызовов.

Подробное руководство по отладке

Для исчерпывающего пошагового руководства по использованию инспектора V8 обратитесь к официальной документации V8:

Распространенные сценарии отладки

1. Сбои плагина

  • Проверьте логи Plugify на наличие сообщений об ошибках.
  • Используйте инспектор V8 для определения точной строки кода, вызывающей сбой.
  • Проверяйте переменные и память для диагностики проблемы.

2. Плагин не загружается

  • Убедитесь, что плагин размещен в правильном каталоге.
  • Проверьте наличие отсутствующих зависимостей JavaScript или синтаксических ошибок.
  • Используйте инспектор V8 для пошагового выполнения кода инициализации плагина.

3. Неожиданное поведение

  • Установите точки останова в соответствующих функциях для отслеживания потока выполнения.
  • Проверяйте значения переменных для выявления расхождений.
  • Используйте условные точки останова для отладки конкретных сценариев.

Продвинутые советы по отладке

1. Используйте логирование

  • Добавляйте операторы логирования в код вашего плагина JavaScript для отслеживания потока выполнения и значений переменных.
  • Используйте встроенную систему логирования Plugify для вывода сообщений в консоль или файлы логов.

2. Отладка асинхронного кода

  • Используйте функцию Async Call Stack (Асинхронный стек вызовов) в DevTools для отслеживания асинхронных вызовов функций.
  • Проверяйте Promises и функции async/await для выявления проблем.

3. Отладка проблем с памятью

  • Используйте вкладку Memory (Память) в DevTools для создания снимков кучи и анализа использования памяти.
  • Выявляйте утечки памяти и оптимизируйте потребление памяти вашим плагином.

Устранение неполадок

1. Отладчик не подключается

  • Убедитесь, что Plugify запущен и инспектор V8 включен.
  • Убедитесь, что в браузере настроены правильные адрес и порт.

2. Точки останова не срабатывают

  • Убедитесь, что код JavaScript соответствует выполняемой версии.
  • Пересоберите плагин и перезапустите Plugify.

3. Сбои отладчика

  • Обновите V8 до последней версии.
  • Убедитесь, что все зависимости совместимы с вашей средой разработки.

Для более продвинутых техник и инструментов отладки обратитесь к документации V8.