现在的位置: 首页 > 综合 > 正文

VC 6.0调试 之 远程调试

2012年06月21日 ⁄ 综合 ⁄ 共 1413字 ⁄ 字号 评论关闭

如果你写的程序在本地编译和运行没有问题,但是发布到其他机器上运行时出现了异常,程序运行的机器上没有安装调试期,此时就需要进行远程调试了。VC 6.0 可以进行远程调试, 但是需要进行一定的环境搭建。 请看下述:
1.有两台机器:A机(本地机)和 B机(远程), 其中A机装有Visual studio 6.0,B机没有安装。
2.B机需要的文件 MSVCMON.EXE,DM.DLL,MSDIS110.DLL,TLN0T.DLL(在A机Visual studio 6.0安装目录下的   Common/MSDev98/Bin中)
3.将上面的文件拷贝到B机的某个目录下(例如//B/C$/RemoteDebug/
4.在A机上打开VC 6.0,打开需要调试的工程(例如工程名为RemoteDebug),设置断点,编译后,将工程目录下的 Debug/RemoteDebug.exe文件拷贝到B机某目录下(例如//B/C$/RemoteDebug/) 。对VC 6.0的IDE环境进行一定的设置,步骤如下:
    a) 菜单Build->Set Active Configuration->[工程名] - Win 32 Debug。 点击OK
    b) 菜单Build->Debugger Remote Connection->NetWork(TCP/IP),选择对话框中的Settings,在Target machine name or ip中输入B机的IP,点击OK。
    c) 菜单Project->Settings->Debug标签页中,Category默认选择General,在Executable for debug session中输入调试程序的本地路径(例如VC6.0打开的工程目录下的Debug/RemoteDebug.exe)。在Remote executable path and name中输入c:/RemoteDebug/RemoteDebug.exe(此处为B机上的实际路径)。
   d) 在步骤c)设置完后,Category选择Additional DLL,设置程序运行需要的DLL(此步骤可以暂时忽略,在Debug时,调试器会询问DLL路径)
5.在B机上运行2步骤中提到的MSVCMON.EXE程序,在对话框中选择Settings,输入Target machine name or address(此处输入A机的IP),点击OK返回,点击Connect,B机设置完毕)

设置完毕,在A机VC的IDE环境中设置断点,然后按F5键可以进行调试。 此时B机上的程序会被运行,如果运行到断点处,A机的VC IDE被激活,可以单步跟踪。

注意点:
1. 如果需要调试的程序使用了MFC,那么需要将MFC相关的Debug版DLL拷贝到B机上,例如上面的RemoteDebug程序使用了MFC,那么需要将MFC42D.DLL,MFCO42D.DLL,MSVCP60D.DLL,MSVCRTD.DLL拷贝到B机上和RemoteDebug.exe相同的目录。
2. 如果RemoteDebug.exe需要其他的dll,那么也需要将这些DLL拷贝到B机RemoteDebug.exe相同目录下。
3. 运行A机上的VC时,可能会弹出一些对话框,说本机的DLL不包含Debug信息,或者本机DLL版本和远程DLL版本不一致,这些可以点击确定忽略过去。
4.本文适用于Visual studio 6.0。更高版本的VC请参考MDSN相关介绍。

抱歉!评论已关闭.