简单来说:
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>最好去掉优化调试,保证符合文件是匹配的