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