适用于Windows的调试工具:符号代理不代理

时间:2008-12-23 15:17:26

标签: windbg

我正在尝试使用来自Debugging Tools for Windows的symproxy.dll设置符号代理。当我从调试器发出“.reload / f”时,找不到任何符号文件。看起来Symproxy不会向Microsoft Symbol Server发送实际获取符号。例如,我在Wireshark中什么都没看到。

SYMPROXY.DLL肯定是被加载的 - 我可以在事件日志中看到一些条目,http://my-server/symbols/status返回有效的信息。

据我所知,我已按照文档中的说明进行操作。为什么不同意去微软的网站?我究竟做错了什么?我需要这个工作,因为我正在调试的机器没有外部访问权。

运行symproxy的框可以访问Internet - 我经常使用它进行调试。在symproxy注册表中配置的符号路径看起来是正确的。它不需要通过代理来访问Internet,我也在注册表中配置了它。

当我在另一个盒子上使用!sym noisy时,它会联系symproxy,但只是说“找不到文件”。这就像symproxy只是提供内容,而不是像MS服务器那样对MS符号服务器进行旁视。

4 个答案:

答案 0 :(得分:1)

您有几种选择:

  1. 使用.symfix(或.symfix +)命令确保您违反Microsoft的符号服务器。 “+”版本保留所有其他符号路径,只需将官方MS符号服务器附加到列表中即可。
  2. 在重新加载命令之前尝试键入“!sym noisy”。这将指示WinDbg准确地向您展示它如何解析您的符号,以及它在此过程中遇到的错误(没有PDB,无法访问远程服务器等)。

答案 1 :(得分:1)

与此同时,我在共享计算机上安装并配置了Squid。这似乎有效。我更喜欢使用symproxy,但我没有时间深入研究它为什么不起作用。

答案 2 :(得分:0)

首先,您是否拥有正确的符号服务器设置:http://msdl.microsoft.com/download/symbols

第二,您的代理服务器是否可以访问互联网?它被设置为允许symproxy访问?可能是symproxy本身没有代理(请在调试工具目录中查看symhttp.doc)。

我会尝试几个步骤来调试调试器 - 你可以在代理服务器盒上运行带有故障转储的windbg,如果这样你可以手动将符号复制到调试器盒。如果没有,您需要解决互联网访问问题。

答案 3 :(得分:0)

还可以尝试一个简单的.symfix c:\symbols。这会将您的搜索路径设置为默认符号站点。您还可以检查搜索路径以查看它们的设置。