我使用WinDBG来调试测试人员发送给我的转储。现在,从Microsoft的符号服务器获取调试符号,我的性能非常差。我不是唯一一个,所以我希望微软目前有服务器问题,但它突出了一些关于WinDBG的符号缓存,我之前没有注意过。
当我打开一个新的转储时,它经常尝试下载所有Microsoft符号的每个pdb。它在我的调试会话期间缓存它们,如果我关闭WinDBG并再次打开它,它经常打开而不必下载符号。但是,如果我打开我几天前使用的转储,它似乎经常丢失之前下载的符号。它似乎是清除旧的pdb文件或其他一些..
我的符号路径设置如下:
vector
那么,问题是,是否可以控制WinDBG清除缓存符号的频率?我很高兴用符号文件填充几GB,因为磁盘很便宜......
答案 0 :(得分:1)
不,符号不会被清除。我不知道任何可以告诉WinDbg符号年龄的信息,除了时间戳不可靠。文件pingme.txt
是一个空文件。
正如@blabb在评论中提到的那样,清除会适得其反,因为您可以download symbol packages (Microsoft)离线使用非常旧的符号,例如: Windows XP。
在我加入公司时获得的PC上,2014年的符号仍然存在: