Можно ли отладить аддон узла C++ в электронном приложении с помощью обычного отладчика (gdb, lldb и т. Д.)?

Я пытаюсь отладить надстройку узла, которая вызывается в электронном приложении, но я не могу найти способ запустить или подключить отладчик c к приложению. У меня был успех в отладке, когда он вызывался простым приложением узла, вызывая узел при запуске отладчика, передавая файл js в качестве аргумента (я использовал этот учебник: https://medium.com/@atulanand94/debugging-nodejs-c-addons-using-vs-code-27e9940fc3ad). Есть ли способ запустить исполняемый файл электрона, передавая основной код (index.js) приложения подобным образом?

0 ответов

Я нашел способы сделать это для Xcode и Visual Studio.

Сначала вам нужен небольшой файл JavaScript, который импортирует ваше собственное дополнение и вызывает функцию, которую вы хотите отлаживать. Это файл для запуска Electron из среды IDE. Предположим, этот файл называетсяdebug.js.

Xcode

  1. Откройте свой проект и выберите Edit Scheme для цели, которую вы хотите отлаживать.
  2. В Run/Info/Executable укажите на [path_to_your_project]/node_modules/electron/dist/Electron.app.
  3. В разделе Run/Arguments/Arguments Passed On Launch добавьте [path_to_your_project]/debug.js.

NB. Кажется, что не работает, если использовать~ в пути аргумента, поэтому обязательно укажите полный путь к сценарию, т.е. /Users/username/project/....

Visual Studio

  1. Откройте решение, а затем выберите Свойства для проекта надстройки.
  2. В разделе Configuration Properties / Debugging / Command введите [path_to_your_project]/node_modules/electron/dist/electron.exe.
  3. В разделе "Свойства конфигурации" / "Отладка" / "Аргументы команд" введите [path_to_your_project]/debug.js.
Другие вопросы по тегам