Depuração no Windows
See also: There's a wealth of information on debugging Chromium, much of which also applies to Electron, on the Chromium developers site: Debugging Chromium on Windows.
Depurar uma compilação de Electron: A maneira mais fácil é normalmente construí-lo você mesmo, usando as ferramentas e os pré-requisitos listados na construir instruções para Windows. While you can attach to and debug Electron as you can download it directly, you will find that it is heavily optimized, making debugging substantially more difficult: The debugger will not be able to show you the content of all variables and the execution path can seem strange because of inlining, tail calls, and other compiler optimizations.
Visual Studio com ferramentas C++: As edições de comunidade livre de Visual Studio de 2013 e Visual Studio 2015, ambos trabalham. Once installed, configure Visual Studio to use Electron's Symbol server. Permitirá que o Visual Studio obtenha uma melhor compreensão do que acontece dentro de Electron, tornando mais fácil para apresentar as variáveis num formato legível.
ProcMon: The free SysInternals tool allows you to inspect a processes parameters, file handles, and registry operations.
Anexar e depurar o Electron
Para iniciar uma sessão de depuração, abrá CMD/PowerShell e execute a sua compilação para depuração do Electron, usando o aplicativo para abrir como um parâmetro.
$ ./out/Testing/electron.exe ~/my-electron-app/
Definir pontos de interrupção
Em seguida, abra o Visual Studio. Electron is not built with Visual Studio and hence does not contain a project file - you can however open up the source code files "As File", meaning that Visual Studio will open them up by themselves. You can still set breakpoints - Visual Studio will automatically figure out that the source code matches the code running in the attached process and break accordingly.
Relevant code files can be found in
You can attach the Visual Studio debugger to a running process on a local or remote computer. After the process is running, click Debug / Attach to Process (or press
CTRL+ALT+P) to open the "Attach to Process" dialog box. You can use this capability to debug apps that are running on a local or remote computer, debug multiple processes simultaneously.
If Electron is running under a different user account, select the
Show processes from all users check box. Notice that depending on how many BrowserWindows your app opened, you will see multiple processes. A typical one-window app will result in Visual Studio presenting you with two
Electron.exe entries - one for the main process and one for the renderer process. Since the list only gives you names, there's currently no reliable way of figuring out which is which.
Which Process Should I Attach to?
You can be attached to multiple programs when you are debugging, but only one program is active in the debugger at any time. You can set the active program in the
Debug Location toolbar or the
Using ProcMon to Observe a Process
While Visual Studio is fantastic for inspecting specific code paths, ProcMon's strength is really in observing everything your application is doing with the operating system - it captures File, Registry, Network, Process, and Profiling details of processes. It attempts to log all events occurring and can be quite overwhelming, but if you seek to understand what and how your application is doing to the operating system, it can be a valuable resource.
For an introduction to ProcMon's basic and advanced debugging features, go check out this video tutorial provided by Microsoft.
It's possible to debug crashes and issues in the Renderer process with WinDbg.
To attach to a debug a process with WinDbg:
--renderer-startup-dialogas a command line flag to Electron.
- Launch the app you are intending to debug.
- A dialog box will appear with a pid: “Renderer starting with pid: 1234”.
- Launch WinDbg and choose “File > Attach to process” in the application menu.
- Enter in pid from the dialog box in Step 3.
- See that the debugger will be in a paused state, and that there is a command line in the app to enter text into.
- Type “g” into the above command line to start the debuggee.
- Press the enter key to continue the program.
- Go back to the dialog box and press “ok”.