Aller au contenu principal

Débogage dans VSCode

This guide goes over how to set up VSCode debugging for both your own Electron project as well as the native Electron codebase.

Débogage de votre application Electron

Processus principal

1. Ouvrez un projet Electron dans VSCode.

$ npx create-electron-app@latest my-app
$ code my-app

2. Ajoutez un fichier .vscode/launch.json avec la configuration suivante :

{
"version": "0.2.0",
"configurations": [
{
"name": "Debug Main Process",
"type": "node",
"request": "launch",
"cwd": "${workspaceFolder}",
"runtimeExecutable": "${workspaceFolder}/node_modules/.bin/electron",
"windows": {
"runtimeExecutable": "${workspaceFolder}/node_modules/.bin/electron.cmd"
},
"args" : ["."],
"outputCapture": "std"
}
]
}

3. Débogage

Set some breakpoints in main.js, and start debugging in the Debug View. You should be able to hit the breakpoints.

Débogage du code de base d'Electron

If you want to build Electron from source and modify the native Electron codebase, this section will help you in testing your modifications.

For those unsure where to acquire this code or how to build it, Electron's Build Tools automates and explains most of this process. If you wish to manually set up the environment, you can instead use these build instructions.

Windows (C++)

1. Ouvrez un projet Electron dans VSCode.

$ npx create-electron-app@latest my-app
$ code my-app

2. Ajoutez un fichier .vscode/launch.json avec la configuration suivante :

{
"version": "0.2.0",
"configurations": [
{
"name": "(Windows) Launch",
"type": "cppvsdbg",
"request": "launch",
"program": "${workspaceFolder}\\out\\your-executable-location\\electron.exe",
"args": ["your-electron-project-path"],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [
{"name": "ELECTRON_ENABLE_LOGGING", "value": "true"},
{"name": "ELECTRON_ENABLE_STACK_DUMPING", "value": "true"},
{"name": "ELECTRON_RUN_AS_NODE", "value": ""},
],
"externalConsole": false,
"sourceFileMap": {
"o:\\": "${workspaceFolder}",
},
},
]
}

Notes sur la configuration

  • cppvsdbg requires the built-in C/C++ extension be enabled.
  • ${workspaceFolder} est le chemin complet vers le répertoire src de Chromium.
  • your-executable-location sera l'un des éléments suivants selon le cas:
    • Testing: If you are using the default settings of Electron's Build-Tools or the default instructions when building from source.
    • Release: Si vous avez générerez une version Release plutôt qu’une version Testing.
    • your-directory-name: If you modified this during your build process from the default, this will be whatever you specified.
  • The args array string "your-electron-project-path" should be the absolute path to either the directory or main.js file of the Electron project you are using for testing. In this example, it should be your path to my-app.

3. Débogage

Set some breakpoints in the .cc files of your choosing in the native Electron C++ code, and start debugging in the Debug View.