我们有一个私有符号服务器(只是共享网络驱动器中的一个文件夹)。
前段时间我注意到它包含许多不属于我们的DLL的符号(System.Xml,clr,kernel32等)。
_NT_SYMBOL_PATH
环境变量设置为SRV*c:\symbols*G:\Foundations\Symbols*http://msdl.microsoft.com/download/symbols
,其中c:\symbols
是我的本地缓存,G
是映射网络驱动器。这是根据这里的说明:https://msdn.microsoft.com/en-us/library/windows/desktop/ee416588(v=vs.85).aspx#symbol_servers。
今天我终于想出了所有非私人符号是如何到达那里的。我从私有符号服务器中删除了clr.pdb文件夹,并开始使用ClrMD调试转储。它们不仅仅在我的本地缓存中保存clr符号,而且还重新出现在私有符号服务器中。
如何防止这种情况发生?我不希望我们的私有符号服务器包含不相关的垃圾,这会占用空间并使文件夹变得混乱。 [我们已经有大约2600个文件夹,可能有90%不是我们的。我无法想象如何清理它......]
更新1 :
事实证明,这实际上是预期的行为,正如不同的 MSDN页面所记录的那样:https://msdn.microsoft.com/en-us/library/windows/desktop/ms681416(v=vs.85).aspx。
根据另一个文档页面(https://msdn.microsoft.com/en-us/library/windows/desktop/ms680689(v=vs.85).aspx),使用cache
元素将某个文件夹标记为缓存。但是,设置_NT_SYMBOL_PATH=CACHE*c:\symbols;SRV*G:\Foundations\Symbols*http://msdl.microsoft.com/download/symbols
并不会阻止向私有符号服务器添加符号,并且设置_NT_SYMBOL_PATH=CACHE*c:\symbols;SRV*G:\Foundations\Symbols;SRV*http://msdl.microsoft.com/download/symbols
会导致奇怪的行为:VisualStudio能够下载符号,但它们并没有在我的符号中结束但是,私有符号服务器,ClrMD无法下载我正在分析的转储符号...当我在VS中打开相同的转储时,它工作正常。所以我猜ClrMD在某种程度上与符号路径有所不同......
答案 0 :(得分:0)
首先,你提到了符号路径
undefined
根据你链接的文件
在检索符号时,文件和文件夹将出现在\ mainserver \ symbols共享目录中,以及单个缓存中的c:\ symbols目录中。
这就是预期的行为。
您使用的第二个符号路径是
SRV*c:\symbols*G:\Foundations\Symbols*http://msdl.microsoft.com/download/symbols
由两部分组成:
CACHE*c:\symbols;SRV*G:\Foundations\Symbols*http://msdl.microsoft.com/download/symbols
(很好)和
cache*c:\symbols
(从语法的角度来看)与
相同SRV*G:\Foundations\Symbols*http://msdl.microsoft.com
并在链接的MSDN文档中对此进行了描述:
要仅将Microsoft符号服务器与符号的本地缓存一起使用,以加快通过Internet的访问速度,请对_NT_SYMBOL_PATH使用以下设置:
srv*c:\symbols*http://msdl.microsoft.com/download/symbols
是的,它会将Microsoft文件下载到srv*c:\symbols*http://msdl.microsoft.com/download/symbols
。
你的最后一次尝试是
G:
CACHE*c:\symbols;SRV*G:\Foundations\Symbols;SRV*http://msdl.microsoft.com/download/symbols
语法(没有定义本地文件夹)没有在任何链接文档中描述,所以我不确定会导致什么行为。
srv*http...
应从G:下载私人符号到C:。和
SRV*c:\symbols*G:\Foundations\Symbols
应将符号从Microsoft下载到C:。所以将它们结合起来
SRV*c:\symbols*http://msdl.microsoft.com/download/symbols