VC IDE远程调试

 

序:通常在软件开发的过程中一个比较重要的阶段就是--测试,测试阶段中很可能会涉及到有这样的bug,在WIN7下不出现,在XP下出现…,对于作为一个开发人员来说,当遇到问题的时候我们必须要追踪问题并找出问题的根源,因此我们要进行Debugger,但是通常我们应该会头疼,头疼的原因是我们本地机器没有装WIN7 OS,又或是没有装XP OS,尽管有的人会同时装XP,WIN7,但是有很多的不便性,其一是:两个OS会占用比较多磁盘空间,尽管现在的磁盘空间比较大,其二是:如果我们启动的是WIN7,想在XP上追踪问题,那么我们必须重启进行切换,也许你觉的这不是问题,切换系统又不会花多少时间,但是如果你在XP上已经找到bug的原因,想把修改后的Code在WIN7下再跑一遍,那么,对不起你又得进行切换系统,如果在WIN7下你的Code有点小问题,然后你改动后,又得在XP系统上再验证一下,况且现在我们的机器装的应用软件还蛮多的,启动比较慢,如此反复的进行系统的切换我相信你会疯掉,嘿嘿。因此我们这里就引出主题:进行远程调试,如果我想在XP下进行调试而我装的OS是WIN7,那我可以在装为XP系统的同仁机器上进行远程调试,但是这样可能会影响到同仁的工作效率,毕竟你要把你的exe,pdb等档案放到同仁的机器上,当然你可以麻烦同仁共享一个Folder给你专门存放远程调试所需要的文件,但是你必须在同仁的机器上启动msvsmon.exe,所以还是有点不方便,如果我们能把我们自己工作电脑当做远程电脑那就不存在这样的问题了,这样我们就要借用虚拟机来实现.(VM VisualBox).好了,下面就具体介绍这两种远程调试的方法:

(1)    在另外一台机器上进行远程调试

具体的做法如下:

a)远程测试环境的配置

将“Program Files\Microsoft Visual Studio 9.0\Common7\IDE\Remote Debugger\x86”下的所有文件复制到远程计算机中,将开发好的应用程序(.exe文件)和符号文件(.pdb文件)复制到远程计算机中。 在远程计算机上启动“msvsmon.exe”,并将“工具”->“选项...”的“身份验证模式”改为“无身份验证(仅限本级)”,并勾选“允许任何用户进行调试”。如图所示:

b)本地开发环境设置

项目属性中对调试选项进行配置,如下图所示。注意图中“远程命令”与“工作目录”是指远程计算机中的目录。如图所示:

按F5即可对远程应用程序进行调试。

 

(2)    在同一台机器上进行远程调试.

我们必须安装一个虚拟机,我们于Oracle VM VisualBox来作为例子来介绍,首先安装VM VisualBox, 装完VisualBox后就要装真正的虚拟OS,可以装多个,具体安装方法这里就不介绍了,安装完后为了使虚拟机可以访问本地磁盘文件,那么我们必须要做一件事情,

即在VisualBox中 “设备”=> “分配数据空间”=> “添加数据空间”然后选择你要添加的数据空间盘符和设定属性,如下图所示:(为了比较清楚我捉取整个屏幕)

然后我们设定网络连接,在设定网络连接前我们必须退出虚拟系统(XP),按以下方式来进行设置网络连接。

“设置(s)”=>“网络”=> “连接方式(A)”更改为“Bridged Adapter”,点击确定后退出,然后重新启动虚拟XP系统(点击VisualBox中的Start),进入系统后我们先试的在本机上Ping该虚拟机是否可以Ping的通,如果没有Ping通过,那说明我们还不能连接到虚拟机器上,因此我们就要手动修改虚拟机上的IP地址,为了更好的说明,截取一张图来说明:


设定完后再在本地Ping该虚拟机是否可以Ping通,如果没有问题,那么结果大致如下图所示:

好了,到目前为止我们已经设定好本地机器和远程机器的连接了,因此我们可以在远程启动Minitor程序了,在虚拟机上启动msvsmon.exe,当然我们也要把.exe和.pdb文件放到远程机器上,但是这对于我们来说只不过是本地磁盘之间文件的移动而已。启动msvsmon.exe后可能会出现以下warning提示:

我们也可以把该Warning关闭,集体设定为:

“Control Panel” => “administrative tools” => “Local policies Security” => “Security setting” => “Security options” => 将 Network access : Sharing and Security model for local accountsGuest only - local users authenticate as Guest 更改为 Classic - local users authenticate as themselves.

 

至于本地开发环境的设定跟第一种做法一样,需要注意的是Remote Server Name中要更改为虚拟机器中的IP地址就可以了,一切OK后我们按F11,F5就可以进行Debug了,

如果我们设定没有问题的话,那么在你按F5后,虚拟系统中msvsmon.exe程序运行界面大概如下:

好了,这样我们只要在VisualBox中安装多个OS,就可以随便调试我们的应用程序了,而不需要进行系统的切换,也不需要麻烦同仁了,真是极为方便.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值