プライベート シンボル サーバーがあります (共有ネットワーク ドライブ内のフォルダーのみ)。少し前に、私たちのものではない多くの DLL (System.Xml、clr、kernel32 など) のシンボルが含まれていることに気付きました。_NT_SYMBOL_PATH
環境変数は、ローカル キャッシュの場所SRV*c:\symbols*G:\Foundations\Symbols*http://msdl.microsoft.com/download/symbols
に設定され、ネットワーク ドライブにマップされます。これは、 https ://msdn.microsoft.com/en-us/library/windows/desktop/ee416588(v=vs.85).aspx#symbol_servers の指示に従っています。c:\symbols
G
今日、すべての非プライベートシンボルがどのようにそこに到達したかを最終的に理解しました。プライベート シンボル サーバーから 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
によって奇妙な動作が引き起こされました。分析していたダンプ... VSで同じダンプを開くと、正常に機能しました。だから私はClrMDがどういうわけかシンボルパスで何か違うことをしていると思います...