完整答案在这里:https://web.archive.org/web/20150221111112/http://infopurge.tumblr.com/post/10438913681/how-does-cdb-access-the-microsoft-symbol-server
从命令提示符运行时,cdb 使用 WinINet 访问 Internet 资源。从 Windows 服务运行时,cdb 使用 WinHTTP 访问 Internet 资源。
对于 WinHTTP,您需要设置一些注册表设置以阻止尝试使用代理 (bogusproxy) 访问符号服务器。
您可以强制 cdb 从命令行使用 WinHttp,从而通过在加载 cdb 之前键入以下内容来模拟服务中发生的情况以进行测试。
SET DBGHELP_WINHTTP=AnythingOtherThanEmpty
要禁用 cdb 和 symsrv 的 WinHTTP 代理,您需要在注册表中设置以下项之一。
对于在 Windows 服务环境的 x32 位计算机上运行的 x32 版本的 cdb。
HKLM\Software\Microsoft\Symbol Server\NoInternetProxy DWORD 1。
对于从命令提示符在 x32 位机器上运行的 x32 版本的 cdb。
HKEY_CURRENT_USER\Software\Microsoft\Symbol Server\NoInternetProxy DWORD 1。
对于在 Windows 服务环境中的 x64 位计算机上运行的 x32 版本的 cdb。
HKLM\Software\Wow6432Node\Microsoft\Symbol Server\NoInternetProxy DWORD 1。
对于从命令提示符运行在 x64 位计算机上的 x32 版本的 cdb。
HKEY_CURRENT_USER\Software\Wow6432Node\Microsoft\Symbol Server\NoInternetProxy DWORD 1。
对于在 Windows 服务环境中的 x64 位计算机上运行的 x64 版本的 cdb。
HKLM\Software\Microsoft\Symbol Server\NoInternetProxy DWORD 1。
对于从命令提示符运行在 x64 位计算机上的 x64 版本的 cdb。
HKEY_CURRENT_USER\Software\Microsoft\Symbol Server\NoInternetProxy DWORD 1。