远程调试 VS2005

顾名思义,就是要调试的程序和调试器本身并不在一台机器上。由于虚拟机技术的盛行,在虚拟机里面运行待调试的程序,而在外面运行调试器,也是一种比较流行的做法。



2 为什么使用远程调试
   远程调试有如下好处:
    a. 能让产品运行在一个比较干净的环境。有的时候如果产品安装在一个装好集成环境的机器上,某些bug并不能显示出来。
    b. 易于部署调试环境。很多产品都非常复杂,比如很多都以service方式运行或者要load很复杂的resource,想在调试器里面直接按F5运行,越来越难。
    c. 对于游戏等全屏方式运行的程序,尤其有用。以前我对调试directx程序非常头疼。

3 怎样使用远程调试
   使用vs2005进行远程调试,详细的介绍参考:http://support.microsoft.com/kb/910448

   简单的来说,
   1)在被调试的机器上面运行Msvsmon.exe
   2)在调试机器上面运行vs2005,并attach到远程机器的某个进程

4 注意事项   a. 设置好正确的权限
   被调试机器和调试机器需要互相信任的权限(two-way)。如果两台机器在同一个workgroup,让两台机器拥有一个相同的账号和密码,然后以这个账号运行。如果两台机器在一个域里面,比较简单,Msvsmon可以设置权限。如果一台机器在domain里面,另外一台不在,同样是让两台机器拥有一个相同的账号和密码,然后以这个账号运行。
   对于Windows XP要特别注意一下,设置匿名的访问权限才可以work , http://support.microsoft.com/kb/908099

   b.设置好symbol
   什么,你不知道什么是symbol?简单的来说,symbol file(*.pdb) is for source-level debugging. VS2005就是靠它来调试exe的。默认情况下debug版本生成的,而release版本不生成pdb.设置好 [Project proerties]-[C/C++]-[Debug Information Format]-Program Database就可以了。
   为了减少symbol方面的麻烦,最简单的做法是让被调试机器上的binary版本和本地compile出来保持一致。

 

 

 

在VS上启动远程调试要传入两个参数,也可以写一个BAT批文件:

 

msvcomon.exe -anyuser -tcpip timeout 300000

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值