在调试器中设置符号服务器
调试符号允许您获得更好的调试会话。它们包含有关可执行文件和动态库中函数的的信息,并为您提供获取干净调用堆栈的信息。符号服务器允许调试器自动加载正确的符号、二进制文件和源代码,而无需强制用户下载大型调试文件。该服务器的功能类似于 Microsoft 的符号服务器,因此那里的文档可能很有用。
请注意,由于发布的 Electron 构建经过了高度优化,因此调试并不总是容易的。调试器可能无法向您显示所有变量的内容,并且由于内联、尾调用和其他编译器优化,执行路径可能看起来很奇怪。唯一的解决方法是构建未优化的本地构建。
Electron 的官方符号服务器 URL 是 https://symbols.electronjs.org。您无法直接访问此 URL,必须将其添加到调试工具的符号路径中。在下面的示例中,使用了本地缓存目录以避免重复从服务器获取 PDB 文件。将 c:\code\symbols 替换为您机器上合适的缓存目录。
在 Windbg 中使用符号服务器
Windbg 符号路径使用以星号分隔的字符串值进行配置。要仅使用 Electron 符号服务器,请将以下条目添加到您的符号路径中(注意:您可以将 c:\code\symbols 替换为您计算机上任何可写目录,如果您希望将下载的符号放在不同的位置)
SRV*c:\code\symbols\*https://symbols.electronjs.org
将此字符串设置为环境中的 _NT_SYMBOL_PATH,使用 Windbg 菜单,或通过键入 .sympath 命令。如果您想同时从 Microsoft 的符号服务器获取符号,您应该先列出它
SRV*c:\code\symbols\*https://msdl.microsoft.com/download/symbols;SRV*c:\code\symbols\*https://symbols.electronjs.org
在 Visual Studio 中使用符号服务器


故障排除:符号无法加载
在 Windbg 中键入以下命令以打印符号未加载的原因
> !sym noisy
> .reload /f electron.exe