vs2017每次编译都要从microsoft符合服务器加载符号的问题
博主小白 ,很崩溃。
一、微软的符号服务器究竟是个什么东西?
加载微软提供系统文件的调试符号文件,需要另行下载。
有了这些符号文件,在调试程序的时候,就能看到user32.dll,gdi32.dll等一系列文件的函数名称,否则就显示user32.dll.0x67003246这样的地址。
微软对此这样解释
https://docs.microsoft.com/zh-cn/windows-hardware/drivers/debugger/debugger-download-symbols
划重点:
2018年后微软不再发布用于 Windows 的脱机符号包,原因是更新速度很快。每次调试都会去外网的微软服务器在线下载最新的符号包。这就是你每次调试文件都回加载且速度奇慢无比的原因。
二、网友解决方案
相信很多人已经尝试过常规方案。
勾选微软符号服务器来下载缺失的dll文件
操作步骤:菜单栏调试->选项->常规 勾选启动源服务器支持符号那一项勾上微软符号服务器
三、我的解决方案
本质就是,加载缓存符号文件,然后将加载的符号文所在的文件夹作为后续的路径。
第一步:
查看 工具->选项->调试->符号这个界面,有个 在此目录下缓存符号,自己挑选个路径,
然后点击调试,从符号服务器中完整地加载一次全部符号
第二步:
在工具->选项->调试->符号这个界面中新建一个路径,该路径就是第一步选择的保存
pdb文件的地方(可以更改,不过我喜欢默认),然后取消符号服务器的勾选,选中该路径。
四、结论
你每次加载符号,其实是在从微软服务器下载相关文件。
我们将路径选择为微软服务器,第一次下载后将其路径改为本地即可,
如果有需要再偶尔更新几次就好。
2020.2.2第一次编辑