64位调试器花费的时间比预期的要长(A 64-bit debugging operation is taking longer than expected)
在stackoverflow上找到解决方案的:
http://stackoverflow.com/questions/21329899/vs2013-professional-local-64-bit-debugging-msvsmon-issue
http://stackoverflow.com/questions/12252969/visual-studio-2012-a-remote-operation-is-taking-longer-than-expected
http://stackoverflow.com/questions/11179030/cant-start-debugger-in-vs2012-rc
我高票尝试了都不行,后来认真看了每个回答是,有一些低票的回答ZoneAlarm相关,就搜索了下这个ZoneAlarm,原来是款安全防火墙的软件,肯定把相关的访问禁止了,不清楚原因。我电脑上没有这款软件,我于是考虑把一个相关的也是防火墙的软件删除了,然后又
尝试了以下两个命令(run as admin)并重启计算机:
netsh winsock reset catalog
netsh int ip reset reset.log hit
然后,VS2013就能正常工作了。 相关原理并不清楚,说是,微软的Visual Studio都是32位的,如果要调试64位程序,必须通过一个MSVSMON.EXE一个程序来访问调试64位程序,并且默认的远程调试器是需要监听4016这个端口的,所以我怀疑是不是防火墙软件把这个端口禁用了什么的。这个玩意儿在VS的安装目录下:Microsoft Visual Studio XX.0\Common7\IDE\Remote Debugger\
摘一段国外网站上的话:
When using a firewall other than the Windows Firewall such as third party software firewall or a hardware firewall, the firewall must be manually configured to allow remote debugging. To do so, allow traffic on TCP/IP ports that msvsmon.exe is listening on. By default, these are port 4016 and 4017, where 4016 is used on all Operating Systems, and 4017 is used only on Windows x64 to allow debugging x86 processes."