*在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服务器。虽然这不是一个非常好的解决方案,但奇怪的是它有效。
有关实际解决方案的任何想法吗?