我们有一个专用的符号服务器(只是共享网络驱动器中的一个文件夹)。不久前,我注意到它包含许多不属于我们的DLL的符号(System.Xml、clr、kernel32等)。_NT_SYMBOL_PATH环境变量设置为SRV*c:\symbols*G:\Foundations\Symbols*http://msdl.microsoft.com/download/symbols,其中c:\symbols是本地缓存,G是映射的网络驱动器。这是按照这里的说明: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在符号路径上做了一些不同的事情.
发布于 2015-10-03 20:47:35
你的第一次尝试
首先,您提到符号路径。
SRV*c:\symbols*G:\Foundations\Symbols*http://msdl.microsoft.com/download/symbols根据你链接的文件
当检索符号时,文件和文件夹出现在\mainserver\符号共享目录中,以及c:\符号目录中的单个缓存中。
这就是我们想要的行为。
你的第二次尝试
您使用的第二个符号路径是
CACHE*c:\symbols;SRV*G:\Foundations\Symbols*http://msdl.microsoft.com/download/symbols它由两部分组成:
cache*c:\symbols(这很好)和
SRV*G:\Foundations\Symbols*http://msdl.microsoft.com(从语法的角度来看)与
srv*c:\symbols*http://msdl.microsoft.com/download/symbols并在链接的MSDN文档中进行了如下描述:
若要仅使用Microsoft符号服务器和本地符号缓存,要加快通过因特网的访问速度,请为_NT_SYMBOL_PATH使用以下设置:
srv*c:\symbols*http://msdl.microsoft.com/download/symbols
因此,是的,它将下载微软的文件到G:。
你的第三种方法
你最后一次尝试是
CACHE*c:\symbols;SRV*G:\Foundations\Symbols;SRV*http://msdl.microsoft.com/download/symbolssrv*http...语法(没有定义本地文件夹)在任何链接文档中都没有描述,所以我不确定这会导致什么行为。
我的建议
SRV*c:\symbols*G:\Foundations\Symbols应该从G:到C:下载私有符号。和
SRV*c:\symbols*http://msdl.microsoft.com/download/symbols应该从Microsoft下载符号到C:。所以把它们结合起来
SRV*c:\symbols*G:\Foundations\Symbols;SRV*c:\symbols*http://msdl.microsoft.com/download/symbolshttps://stackoverflow.com/questions/32836042
复制相似问题