Visual Studio调试 - 符号永远不会加载,导致程序冻结

时间:2016-07-20 19:37:06

标签: c++ visual-studio-2012 visual-studio-debugging debug-symbols

*在Windows 7,Visual Studio 2012 Professional上,如果相关的话。

我已经被困在这个问题上好几天了,并且搜索了所有远程相关的stackoverflow答案,我找不到任何解决方案。项目开发人员似乎不知道,我认为这与他们的代码无关,而是我的设置。

我正在尝试调试由其他人编写的C ++应用程序,相同的代码在其他几台计算机上运行时没有问题,但在打开Windows文件对话框时打开我的计算机冻结(用于打开或保存文件。)

根据调试器,它会在尝试从库加载符号时冻结,例如:

  • shdocvw.dll(最常见)

  • networkexplorer.dll

  • ieframe.dll

  • dfscli.dll

  • wbemsvc.dll

  • FirewallAPI.dll

  • npmproxy.dll

和其他一些人。我让它坐了一夜,有一次如果冻结它似乎永远不会恢复。

我基本上尝试了Options-> Debug-> Symbols中的所有可能配置,包括启用和禁用Microsoft Symbol Server,明确地为它提供这些库所在的位置,项目目录,加载所有模块或仅指定模块,清除缓存,排除导致冻结的库(它们仍然加载+冻结等)

请注意,删除所有断点(这些类型问题的常见解决方案)无效。

它将非常随机地工作,但随后重新启动程序,而实际上没有任何改变,将使问题回来。这真是令人生气。我发现最可靠的方法是让它从Microsoft Symbol Server加载所有符号一到三次运行,然后一旦停止工作清除缓存并在本地完全运行一次,然后返回到Microsoft Symbol服务器。虽然这不是一个非常好的解决方案,但奇怪的是它有效。

有关实际解决方案的任何想法吗?

0 个答案:

没有答案