Coding With Fun
Home Docker Django Node.js Articles Python pip guide FAQ Policy

Electron uses Symbol Server in debugging


May 25, 2021 Electron


Table of contents


Debugging symbols gives you better debugging sessions. T hey have function information for executable dynamic libraries and provide information to obtain a clean call stack. A Symbol server allows the debugger to automatically load the correct symbols, binary and resource files without having to force the user to download huge debug files. Server functions are similar to Microsoft's symbol server, so records are available here.

Note that because the public version of electron build is optimized, debugging is not always simple. T he debugger will not give content to all variables, and because of inline, tail calls, and other compiler optimizations, the execution path will look weird. The only solution is to build an uno-optimized local build.

Electron uses an official symbol server http://54.249.141.255:8086/atom-shell/symbols . Y ou cannot access this path directly and must add it to the symbol path of your debugging tool. I n the following example, a local cache directory is used to avoid repeatedly getting PDBs from the server. Use an appropriate cache directory on your PC instead c:\code\symbols .

Using the Symbol Server in Windbg

The Windbg symbol path is made up as a string that limits asterisk characters. To use only Electron's symbol server, add the following records to your symbol path (Note: If you'd like to use a different place to download symbols, you can use any writeable directory on your PC instead of c:\code\symbols ):

SRV*c:\code\symbols\*http://54.249.141.255:8086/atom-shell/symbols

Use the Windbg menu or by .sympath command to set up a _NT_SYMBOL_PATH environment. If you also want to get symbols from Microsoft's symbol servers, you should list them first:

SRV*c:\code\symbols\*http://msdl.microsoft.com/download/symbols;SRV*c:\code\symbols\*http://54.249.141.255:8086/atom-shell/symbols

Use the symbol server in Visual Studio

Electron uses Symbol Server in debugging Electron uses Symbol Server in debugging

Troubleshooting: Symbols will not load

Enter the following command in Windbg to print out that no symbols are loaded:

> !sym noisy
> .reload /f chromiumcontent.dll