防火墙和代理服务器

如果使用 SymSrv 访问符号,并且计算机位于使用代理服务器的网络上,或者符号存储位于防火墙之外,则可能需要进行身份验证才能进行数据传输。

当 SymSrv 收到身份验证请求时,调试器可以显示身份验证请求或自动拒绝请求,具体取决于其配置方式。

SymSrv 已集成对代理服务器的支持。 它可以使用默认代理服务器 SymProxy,也可以使用所选的另一个代理服务器。

身份验证请求

可以将调试器配置为允许身份验证请求。 当防火墙或代理服务器请求授权时,将显示一个对话框。 在调试器可以下载符号之前,必须输入某种信息(通常是用户名和密码)。 如果输入了不正确的信息,对话框将重新显示。 如果选择“ 取消 ”按钮,对话框将消失,不会传输任何符号信息。

如果调试器配置为拒绝所有身份验证请求,则不会显示任何对话框,并且如果需要身份验证,则不会传输任何符号。

如果拒绝身份验证请求,或者调试器自动拒绝身份验证请求,SymSrv 不会再尝试联系符号存储。 如果您希望重新建立联系,则必须重启调试会话或使用 !symsrv close

注意 如果使用 KD 或 CDB,身份验证对话框可能会显示在打开的窗口后面。 如果发生这种情况,可能需要移动或最小化某些窗口才能找到此对话框。

在 WinDbg 中,默认情况下允许身份验证请求。 在 KD 和 CDB 中,默认情况下会自动拒绝身份验证请求。

若要允许身份验证请求,请使用 !sym 提示.symopt-0x80000。 若要拒绝所有请求,请使用 !sym 禁用提示.symopt+0x80000。 若要显示当前设置,请使用 !sym

对身份验证权限状态进行任何更改后,必须使用 .reload (重载模块 )。

选择代理服务器

若要为 Windows 选择默认代理服务器,请在控制面板中打开 Internet 选项 ,选择 “连接 ”选项卡,然后选择 “LAN 设置 ”按钮。 然后,可以输入代理服务器名称和端口号,或选择 “高级 ”以配置多个代理服务器。 有关更多详细信息,请参阅 Internet Explorer 的帮助文件。

若要为 symsrv 选择要使用的特定代理服务器,请将_NT_SYMBOL_PROXY环境变量设置为等于代理服务器的名称或 IP,后跟冒号,然后设置端口号。 例如:

set _NT_SYMBOL_PROXY=myproxyserver:80

选择代理服务器之后,任何使用 SymSrv 访问符号服务器的 Windows 调试器都会使用这个代理服务器。 它还将由任何其他使用 DbgHelp 作为符号处理程序的调试工具使用。 其他任何程序都不会受到此设置的影响。