`
wangminshe89
  • 浏览: 665597 次
文章分类
社区版块
存档分类
最新评论

VC++6.0远程调试

 
阅读更多

先明确下概念,远程调试嘛,自然是两个机器之间调试。程序运行在目标机器上,调试器运行在本机。当然,目标机器上还是要有少许辅助程序才能跟本机的调试器connect上,以便通讯。一般来说,只需要copy四个文件到目标机器上就行了:MSVCMON.EXE、DM.DLL、TLN0T.DLL和MSDIS110.DLL。这四个文件都能在VC6目录的Common/MSDEV98/Bin目录下面找到。copy过去之后,运行msvcom.exe,看下图片~

有个Settings的按钮,不用管。直接点Connect就行了~

接着看看本机这边调试器的设置。首先设置好远程调试开关,在Build菜单下有个Debuger Remote Connecting的子菜单,点之。出现个窗口,默认是在Local项,我们要选的是Network(TCP/IP),然后点设定。会弹出一个对话框,输入目标机器的ip或者机器名,最后点OK就行了。

本机调试设置

接下来把工程打开,设置最后一步。假设生成的可执行程序名为RemoteDebug.exe,在目标机器上的路径为d:/Prj/Remote.exe,那么,在本机的Project Settings里面,选择Debug页面的Remote executable path and file name下面的编辑框中输入目标机器中程序的路径:d:/Prj/RemoteDebug.exe。注意,这里写的是从目标机器的角度所看到的路径。

项目设置

然后编译一下程序,把新编译出来的RemoteDebug.exe复制到目标机器的d:/Prj下面,就可以在本机像平常一样调试了。

要注意的事项:

1.要求本机与目标机器上的版本要完全一样才行。

2.在本机设置远程调试路径时一定要填目标机器上看到的路径,而不是本机看到的网络路径

3.调试开始时,会提示些符号信息的东东,都确定就行了

4.远程调试的设置是全局设置,跟项目无关。实际上,上面提到本机调试器设置时都没打开工程。所以,当不需要远程调试时,要从Build菜单下面的Debuger Remote Connecting的子菜单设置回Local模式。否则每次都会问你要远程的信息噢~~~

基本流程还是一样的,只不过调试动态库的话,除了需要动态库本身外,还需要调用该动态库的执行程序。这里假设要调试的动态库为TestDLL.dll,其中导出一个函数int Add(int a, int b);在可执行程序TestCSDN.exe中会调用TestDll中的Add函数。

调试步骤如下:

1.在编译完动态库TestDll.dll和可执行程序TestCSDN.exe之后,将这俩复制到目标机器上,比如目标机器的D:/DebugEasy/RemoteDebugDll目录下。

2.设置好本机和目标机器的远程调试选项

参见前一篇blog: VC++6.0调试篇:远程调试http://blog.csdn.net/coding_hello/archive/2008/11/23/3357384.aspx

3.在本机打开TestDll工程,在Build --> Project and Setting菜单中作设置:

本机远程调试动态库

上面是本机中TestCSDN.exe所在的位置,下面是远程目标机器上程序所在的位置。注意,这里都是设置的可执行文件的名字,而不是我们要调试的动态库的名字。

4.点OK后,在Add函数中打个断点,然后按F5开始调试。会提示要定位动态库位置,第一个一般是NTDLL.dll,如图:

Host_For_Dll_Symbol

如果我们是调试EXE,那么去掉"Try to locate other DLLs"选项,点OK就行了。但是我们这次的目标是调试TestDLL.dll,所以请有点耐心,直接点OK。可能有很多,直到看到你想要的:

Host_For_TargetDll_Symbol

看到没,提示要目标机器上的Testdll.dll文件在本机中的位置,点Browse,选中本机中的位置:

Locate_Local_Module

找到本机中的位置后,点"打开",剩下的DLL就都忽略吧,信息已经足够了。F5之~

6.守得云开见月明:

目标机器

断点生效了噢,都能看到变量a的值是100了。

分享到:
评论

相关推荐

    VC++6.0远程调试 工具 + 说明文档

    方便开发人员解决问题。 使用一台计算机(调试...远程调试的好处有,无需在目标计算机上安装庞大完整的开发环境,仅需安装一个10M左右远程调试管理器;一台开发计算机可以对不同版本Windows的目标计算机实施开发和调试

    Visual c++6.0调试技术

    用visual c++6.0调试c语言程序的方法。

    VC++串口通信实验程序源码

    实现了VC++6.0下的串口通信,可以使用窗口调试助手进行测试,能读取串口的数据并向串口发送数据。

    基于MFC实现的远程视频监控系统源代码.rar

    基于MFC实现的远程视频监控系统源代码 程序运行在Windows 98/2000/XP/2003平台下,可在VC++ 6.0或.NET中调试。调试前请先安装Microsoft DirectX 9.0 SDK。

    郁金香VC++外挂编程全集中级篇2.1.6part02

    编程语言,VC++6.0 工具主要为(OD1.1,CE5.4) 预计平均3天左右更新一课 大家好,我是郁金香老师:QQ150330575 欢迎大家参加梅州技术 VC++外挂编程VIP培训班。 在接下来的一段时间将由我和大家一起学习游戏外挂的分析...

    郁金香VC++外挂编程全集中级篇2.1.3part02

    编程语言,VC++6.0 工具主要为(OD1.1,CE5.4) 预计平均3天左右更新一课 大家好,我是郁金香老师:QQ150330575 欢迎大家参加梅州技术 VC++外挂编程VIP培训班。 在接下来的一段时间将由我和大家一起学习游戏外挂的分析...

    郁金香VC++外挂编程全集中级篇2.1.5part01

    编程语言,VC++6.0 工具主要为(OD1.1,CE5.4) 预计平均3天左右更新一课 大家好,我是郁金香老师:QQ150330575 欢迎大家参加梅州技术 VC++外挂编程VIP培训班。 在接下来的一段时间将由我和大家一起学习游戏外挂的分析...

    vc++ 应用源码包_3

    VC++6.0 控制摄像头 一个视频捕捉类对摄像头的操作。 VC+++暴风影音(Media+Player+Classic)源码 知道的人不多,但提起国内的暴风影音,我想知道的人就多了,其实暴风影音就是Media Player Classic,暴风影音只是同我...

    Visual GCC,最好的GCC&GDB集成开发环境(3)

    4.可调试本机程序,也可以远程调试linux主机上的程序;强大的可视化调试功能是本软件的重要特色! 4.调试界面高仿VC++6,方便易用;可以反汇编,设断点,发GDB命令,可以查看变量,寄存器,内存,调用栈, 调试功能非常强大,...

    VC与Labview、Matlab编程论文资料[2].rar

    MScomm控件在VC++6.0串口通信中的应用.pdf MSComm控件在VC_6_0串口通信中的应用.pdf ODBC技术解析与MFCODBC实例应用.pdf Python+语言的可视化编程环境的设计与实现.pdf s3c6410中MFC的研究与应用.pdf VB与VC_环境下...

    VC与Labview、Matlab编程论文资料

    MScomm控件在VC++6.0串口通信中的应用.pdf MSComm控件在VC_6_0串口通信中的应用.pdf ODBC技术解析与MFCODBC实例应用.pdf Python+语言的可视化编程环境的设计与实现.pdf s3c6410中MFC的研究与应用.pdf VB与VC_环境下...

    vc++ 应用源码包_1

    VC++6.0 控制摄像头 一个视频捕捉类对摄像头的操作。 VC+++暴风影音(Media+Player+Classic)源码 知道的人不多,但提起国内的暴风影音,我想知道的人就多了,其实暴风影音就是Media Player Classic,暴风影音只是同我...

    VC与Labview、Matlab编程论文资料[4].rar

    MScomm控件在VC++6.0串口通信中的应用.pdf MSComm控件在VC_6_0串口通信中的应用.pdf ODBC技术解析与MFCODBC实例应用.pdf Python+语言的可视化编程环境的设计与实现.pdf s3c6410中MFC的研究与应用.pdf VB与VC_环境下...

    gh0st 3.6 C++ 源码版

    源代码已经经过重建工程,修改配置后可以在VC++6.0中下断点进行调试,网上的原版代码及其他代码大多数不能下断点调试,不方便大多数入门者阅读代码、学习技术。  警告:源代码仅供学习,禁止用于非法用途! 运行...

    Visual GCC,最好的GCC&GDB集成开发环境(4)

    4.可调试本机程序,也可以远程调试linux主机上的程序;强大的可视化调试功能是本软件的重要特色! 4.调试界面高仿VC++6,方便易用;可以反汇编,设断点,发GDB命令,可以查看变量,寄存器,内存,调用栈, 调试功能非常强大,...

    Visual GCC,最好的gcc&gdb集成开发环境(2)

    4.可调试本机程序,也可以远程调试linux主机上的程序;强大的可视化调试功能是本软件的重要特色! 4.调试界面高仿VC++6,方便易用;可以反汇编,设断点,发GDB命令,可以查看变量,寄存器,内存,调用栈, 调试功能非常强大,...

    VC++网络通信实例教程

    软件平台:操作系统为Windows 98/Me/NT/2000/XP(推荐使用Windows 2000/XP),调试环境为Visual C++ 6.0及其以上版本(如果不做说明,则默认为Visual C++ 6.0)。 2.光盘的使用方法及注意事项 将本书的源代码拷入...

    Visual GCC,最好的gcc&gdb的集成开发环境(1)

    4.可调试本机程序,也可以远程调试linux主机上的程序;强大的可视化调试功能是本软件的重要特色! 4.调试界面高仿VC++6,方便易用;可以反汇编,设断点,发GDB命令,可以查看变量,寄存器,内存,调用栈, 调试功能非常强大,...

    vc++ 应用源码包_5

    VC++6.0 控制摄像头 一个视频捕捉类对摄像头的操作。 VC+++暴风影音(Media+Player+Classic)源码 知道的人不多,但提起国内的暴风影音,我想知道的人就多了,其实暴风影音就是Media Player Classic,暴风影音只是同我...

Global site tag (gtag.js) - Google Analytics