Как настроить конфигурацию отладки VSCode для аддона собственного узла, управляемого электроном?

#visual-studio-code #electron #vscode-debugger #node-addon-api

Вопрос:

Я успешно запускаю приложение electron (в Windows 10 компилятором является msvc), и я правильно могу отлаживать основной процесс, а также процесс визуализации.

Я только что добавил собственный аддон пользовательского узла (using node-addon-api ), который импортируется в основной процесс и хорошо работает.

Собственный аддон узла написан на C и построен cmake-js с использованием --debug флага, который правильно создает двоичные файлы отладки.

Теперь я хочу отладить аддон C из VSCode.

Ниже приведена моя текущая (неудачная) попытка создания launch.js файла.

     "version": "0.2.0",
    "configurations": [
        // {
        //     "name": "Attach C  ", //Not working
        //     "type": "cppvsdbg",
        //     "request": "attach",
        //     "cwd": "${workspaceFolder}/app/node_modules/addtest", //path to the native addon source
        //     "processId": "${command:pickProcess}"
        // },
        {
            "name": "Renderer", //working
            "type": "chrome",
            "request": "attach",
            "port": 9876,
            "url": "http://localhost:4200",
            "sourceMaps": true,
            "timeout": 10000,
            "trace": "verbose",
            "sourceMapPathOverrides": {
                "webpack:///./*": "${workspaceFolder}/*"
            },
            "preLaunchTask": "Build.Renderer"
        },
        {
            "name": "Main", //working
            "type": "node",
            "request": "launch",
            "protocol": "inspector",
            "cwd": "${workspaceFolder}",
            "runtimeExecutable": "${workspaceFolder}/node_modules/.bin/electron",
            "trace": "verbose",
            "runtimeArgs": [
                "--serve",
                ".",
                "--remote-debugging-port=9876",
                "--preserve-symlinks"
            ],
            "windows": {
                "runtimeExecutable": "${workspaceFolder}/node_modules/.bin/electron.cmd"
            },
            "preLaunchTask": "Build.Main"
        },
    ],
    "compounds": [
        {
            "name": "Application Debug",
            "configurations": [
                "Renderer",
                "Main"
            ]
        }
    ]
}
 
  1. Каков общий рабочий процесс для отладки собственного аддона, управляемого Electron? Запустите отладку основного процесса, а затем подключите отладку C ?
  2. Как я должен написать свою конфигурацию отладки C ?