首页Visual Studio › VS2005 vs2008 vs2010 vs2012 远程调试

VS2005 vs2008 vs2010 vs2012 远程调试

一 远程端的设置

1. 远程机器端 的安全选项
在远程机器上,开始——设置——控制面板——管理工具——本地安全策略——本地策略——安全选项,在右侧找到网络访问:本地帐户的共享和安全模式,双击它,将“进来宾 – 本地用户以来宾身份验证”,改为:“经典 – 本地用户以自己的身份验证”  

2.远程端 运行VS 远程调试监视器
将本地文件夹下远程调试监视器所在文件夹(具体位置见后面 四。注意事项)下的所有文件,全部复制到远程计算机中,比如到 E:\remote\x86下。这里以vs2005为例,其余只是版本不同,操作都一样。
双击启动其中的msvsmon.exe,在其菜单,工具——选项 中,更改身份验证方式。
2.1  选择 无身份验证(仅限本机),并勾选“允许任何用户进行调试”。“服务器名”将显示 tu:4015, 其中的tu是远程计算机的名称,4015是端口号。
2.2  选择 Windows身份验证。“服务器名”,将显示 BT\[email protected], 其中,BT 是局域网的域名,lk是登陆的用户名称,tu是远程计算机的名称。如无登录域,则显示为:[email protected],其中,lk是登陆的用户名称,tu是远程计算机的名称。

二。 本地端的设置

启动vs2005,打开自己的项目文件,在程序中需要的地方设置断点并重新生成它。
将刚生成的应用程序(ap.exe文件)和对应的符号文件(ap.pdb文件),复制到远程计算机中制定文件夹下,比如E:\remote\debug下。

启动调试的两种方法:

1 直接方法

就想通常调试方法一样,直接从菜单上启动调试,或直接按F5键启动调试。
这个过程中,如果提示“已达到计算机的连接数最大值,无法再同此远程计算机连接”,则需要清理连接,从Windows系统的开始——运行,输入执行: net session /delete /y 即可。

2 附加进程

在远程端的E:\remote\debug下,双击启动其中的 ap.exe文件。每次改动编译后,都要复制两个文件到远程端,并重新启动。
在本地vs2005的菜单,工具——附加到进程,将弹出选项页面。这又分两种方式 :

2.1 Window身份验证远程调试
这对应远程端的,msvsmon.exe的选项, Windows身份验证
在“传输”中选择: “默认值”。
在“限定符”中浏览找到或直接输入: BT\[email protected]
在“可用进程”中找到自己的程序,比如ap.exe(就是刚在远程端启动的ap.exe),点按“附加”即可调试。

2.2 匿名远程调试
这对应远程端的,msvsmon.exe的选项, 无身份验证(仅限本机)
在“传输”中选择: “远程(无身份验证时仅限本机)”。
在“限定符”中浏览找到或直接输入:  10.10.1.36:4015 。或tu:4015 ,就是远程计算机。
在“可用进程”中找到自己的程序,比如ap.exe(就是刚在远程端启动的ap.exe),点按“附加”即可调试。

三。 输出到远程
输出放在本地的缺点是有任何的改动,都需要将生成后的两个文件,复制到远程才能调试。为了方便,可直接将输出放到远程共享的文件夹下。

1.在远程端,将文件夹E:\remote 读写共享为 remote_share , 并在其中创建 debug文件夹。
2.vs 开发环境自动添加的命名空间和应用程序集的名称都比较长,为了方便,只将输出的执行程序集名称改的较短。 从 菜单 工具—— 本项目的 属性——应用程序,在程序集名称处,输入希望的名称,比如: ap


3. 在本地开发环境,从菜单 项目—— 本项目的 属性——生成——输出路径,从默认的bin\debug改为 \\10.10.1.36\remote_share\debug

4. 从菜单 项目——本项目的 属性——调试,从“启动项目”改为“启动外部程序”,并输入\\10.10.1.36\remote_share\debug\ap.exe , 将工作目录改为 \\10.10.1.36\remote_share 。勾选 “使用远程计算机”,并输入 10.10.1.36 。

四。注意事项:
1. 两端登录的用户都要放到 Administrator组中,以便有较高的权利。
2. 对于“Window身份验证远程调试 ”,两端登录的用户可以不同。建议使用这种方法,比较安全。
3. 对于“匿名远程调试”,远程和本地需用同一个用户名同样的用户密码登录,有时不能加调试断点。
4. 调试机和被调试机都在一个局域网内,且必须在一个网段
5. 关闭防火墙或打开相应的端口,一般是4015

6. vs2005和vs2008 Win xp sp2 或 sp3下运行, vs2010 只能在 Win xp sp3运行,VS2012只能 Win 7或Win 8下运行。

7. 执行调试所需的文件,都是 .exe和.pdb :
vs2005 是 ap.exe 和 ap.pdb
vs2008 是 ap.exe 和 ap.pdb
vs2010 是 ap.vshost 和 ap.vshost.exe.mainfest

8. 远程调试监视器,在安装vs的计算机上的位置为:
vs2005在本地 Program Files\Microsoft Visual Studio 8\Common7\IDE\Remote Debugger\x86 下的所有文件。
vs2008在本地 Program Files\Microsoft Visual Studio 9.0\Common7\IDE\Remote Debugger\x86 下的所有文件。
vs2010在本地 Program Files\Microsoft Visual Studio 10.0\Common7\IDE\Remote Debugger\x86 下的所有文件。
VS2012在本地 Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Remote Debugge下的x86 下的所有文件。

发表评论