这里参考了一篇博友的文章,原文链接在这里:http://blog.sina.com.cn/s/blog_a459dcf5010153o7.html
有时候在某个功能开发完成后,交给测试去验证,但是发现了bug的时候,在自己电脑上查找不好复现。这时候如果能在测试的电脑上进行调试,那效率是多么的高,可以很快的定位与复现问题。但是这需要编译器和源代码,非常的麻烦。这时我们可以使用VS带的一个远程调试的功能。
注:VS2010,VS2012,VS2013都有此功能,我用的是VS2013,可以调试的最高系统是win10,xp不支持。
我们现在假设有两台机器,装有VS和拥有源代码叫Developer,被调试的那台可以叫Customer。
1)找到VS的Remote Debugger文件夹。可以用everything工具搜一下,把这个文件夹拷贝到被调试的Customer机器上。如下图:
2)在被测试机Customer上,以管理员身份运行Remote Debugger/x86/msvsmon.exe(x86对于32位程序,x64对于64位程序)。如下图:
3)在上图中,选择Tools中的Options菜单项,打开下图界面:
4)按上图进行设置。
完成后点击确定即可,最后运行程序。
5)回到开发者机器Developer,运行程序,注意,被调试机器上的exe必须是工程刚编译好没有改变过的。这样才能Attach上。选择VS的Attach to Process,打开下图:
6)开在Transport中选择Remote选项,Qualifier选择Find,看是否能搜出目的机器(局域网内),如果搜不到就输入被调试机器的IP:端口号,然后点击 Refresh,如果可以刷出被调试机器的进程列表则说明成功了,Attach到相应的进程,然后就可以愉快的调试代码了。
如果出现无法找到目的机的错误,试一下下面的方法:
a.关闭电脑的防火墙
b.
(1)从“开始”菜单中,选择“控制面板”。
(2)在“控制面板”中双击“管理工具”。
(3)在“管理工具”窗口中双击“本地安全策略”。
(4)在“本地安全策略”窗口中,选择“本地策略”。
(5)在“策略”列中,双击“网络访问: 本地帐户的共享和安全模型”。
(6)在“网络访问: 本地帐户的共享和安全模型”对话框中,将本地安全设置更改为“传统型”并单击“确定”。
(7)开启服务TerminalService
(1)从“开始”菜单中,选择“控制面板”。
(2)在“控制面板”中双击“管理工具”。
(3)在“管理工具”窗口中双击“本地安全策略”。
(4)在“本地安全策略”窗口中,选择“本地策略”。
(5)在“策略”列中,双击“网络访问: 本地帐户的共享和安全模型”。
(6)在“网络访问: 本地帐户的共享和安全模型”对话框中,将本地安全设置更改为“传统型”并单击“确定”。
(7)开启服务TerminalService
我上面的测试是在主机和虚拟机之间进行的,其他机型可以自行验证。VS2013可以实现外网的调试(IP:端口号)。