简单来说:

1>在远程机器跑VC自带的远程调试工具msvsmon.exe,并把要调试的程序跑起来

2>用VC调试器附加进程,即可调试

 

先展开来说:

VC8,VC9都自带远程调试工具,可以在开始菜单中找到,以VC2008为例在

由 开始菜单=>Microsoft Visual Studio 2008=>Visual Studio Tools=>Visual Studio 2008 Remote Debugger

可定位到在如下目录F:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\Remote Debugger\x86

将以上整个目录拷贝到待调试程序执行的机器上,然后执行msvsmon.exe,

并设置权限如图

 

 

注意,这里需要关闭windows防火墙或者添加防火墙例外

然后再调试器机器上就可以附加远程进程了

如下图所示在VC菜单=>TOOLS=>ATTACH TO PROCESS

 

 

这样就可以打断点调试了

需要注意的是:

1>附加进程之前,进程必须要跑起来,如果是没有界面的程序可以弹个对话框,让程序暂停方便附加,

2>如果是个服务,可以写个小循环,要在30秒以内可以附加服务进程,因为30秒后没响应NT服务就启动失败

3>最好去掉优化调试,保证符合文件是匹配的