SymProxy

可以将基于 HTTP 的符号存储配置为充当客户端计算机和其他符号存储之间的代理。 实现是通过名为 SymProxy(Symproxy.dll)的 Internet 服务器应用程序编程接口(ISAPI)筛选器实现的。 SymProxy 服务器可以用作通往互联网或您公司网络中其他资源的网关计算机。 下图显示了一个 SymProxy 配置示例。

显示 SymProxy 配置示例的 关系图。

在很多情况下,SymProxy 非常有用。 例如:

  • 在实验室环境中调试许多系统,这些计算机未连接到公司网络,而符号存储在网络中,必须通过集成 Windows 身份验证(IWA)进行访问。

  • 贵公司的计算环境包括一个防火墙,该防火墙阻止正在调试的计算机访问互联网,并且您必须从互联网网站获取符号信息。

  • 你希望为公司中的所有用户提供一个统一的符号路径,这样他们无需了解或操心符号的位置,并且你可以在不需要用户干预的情况下轻松添加新的符号存储。

  • 你有一个远程站点,该站点在物理上与公司资源的其余部分相距甚远,网络访问速度缓慢。 此系统可用于获取符号并将其缓存到远程站点。

若要安装 SymProxy,必须将文件手动复制到正确的位置、配置注册表、选择网络安全凭据和配置 Internet Information Services (IIS)。 若要确保正确配置 HTTP 符号存储,请参阅 HTTP 符号存储

多符号服务器性能注意事项

每个虚拟目录都可以与多个(上游)符号存储相关联。 每个符号存储库都是单独查询的。 为了提高性能,应在 Internet HTTP 服务器之前处理本地 SMB 服务器。 与调试器符号路径不同,可以在 SymProxy 符号路径中指定多个 HTTP 符号存储。 每个虚拟目录最多支持 10 个条目。

SymProxy 符号路径

SymProxy 将 (注册表定义的) 符号路径值拆分为单个条目,并使用每个条目生成基于 SRV* 的符号路径来检索文件。 它使用 Virtual Directory 的文件夹作为每个查询中的下游存储 - 实际上,将上游存储合并到单个下游符号存储。

SymProxy 使用的 (generated) 符号路径等效于:

SRV*<Virtual Directory Folder>*<SymbolPath Entry #N>

在此示例中,UNC 路径和两个 HTTP 路径与虚拟目录相关联,以合并来自公司符号服务器、Microsoft 和第三方(Contoso)的符号。 SymProxy SymbolPath 的设置如下所示:

\\MainOffice\Symbols;https://msdl.microsoft.com/download/symbols;
https://symbols.contoso.com/symbols

首先使用生成的符号路径查询主 Office 符号文件共享:

SRV*D:\SymStore\Symbols*\\MainOffice\Symbols

如果未找到符号文件,将使用(生成的)符号路径查询 Microsoft 符号存储。

SRV*D:\SymStore\Symbols*https://msdl.microsoft.com/download/symbols

如果仍未找到文件,将使用(生成的)符号路径查询 Contoso 符号存储(https://symbols.contoso.com/symbols)

SRV*D:\SymStore\Symbols*https://symbols.contoso.com/symbols

本部分包括:

安装 SymProxy

配置注册表

选择网络安全凭据

为 SymProxy 配置 IIS

设置排除列表

处理不可用的符号存储

处理文件指针

缓存获取的符号文件