Можно ли отладить аддон узла 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
- Откройте свой проект и выберите Edit Scheme для цели, которую вы хотите отлаживать.
- В Run/Info/Executable укажите на
[path_to_your_project]/node_modules/electron/dist/Electron.app
. - В разделе Run/Arguments/Arguments Passed On Launch добавьте
[path_to_your_project]/debug.js
.
NB. Кажется, что не работает, если использовать~
в пути аргумента, поэтому обязательно укажите полный путь к сценарию, т.е. /Users/username/project/...
.
Visual Studio
- Откройте решение, а затем выберите Свойства для проекта надстройки.
- В разделе Configuration Properties / Debugging / Command введите
[path_to_your_project]/node_modules/electron/dist/electron.exe
. - В разделе "Свойства конфигурации" / "Отладка" / "Аргументы команд" введите
[path_to_your_project]/debug.js
.