1,目的


有时候,程序由于某些原因并不能在开发机上运行(如可能加载有问题的驱动,运行环境在远处的客户那等),这就需要用到远程调试的技术。


2,步骤


我这里就演示在虚拟机里运行程序,然后在本机物理机的vs2008下断点调试。在远程机器上只要网络能连接,是一样的效果。


一:远程机器的环境设置


①把开发机上vs2008安装目录中的Remote Debugger文件夹中的远程调试监视器文件夹发给远程机器,我这里就是拷贝到虚拟机中。

拷贝对应远程机器系统位数的文件夹,x64(64位)或x86(32位)。


②关闭远程机器的防火墙。 



③在之前拷贝的文件夹中新建一个txt文本,写下如下内容,并重命名为test.bat,运行这个批处理文件。

msvsmon.exe /noauth /anyuser /nosecuritywarn



这样vs的远程调试监视器就运行起来了。




二,开发机工程设置。


①建立一个vs2008 win32控制台程序 TestRemote,代码如下:


②把debug编译后的整个debug文件夹(实际需要exe和pdb文件)拷贝到虚拟机中。 我这里放到C盘根目录。


③配置工程属性-“调试”页如下:



说明:

远程命令—— 在远程机器或虚拟机中该程序运行文件。

命令参数——就是传给该程序的命令行参数。

工作目录——运行的程序工作目录,一般就设程序所在目录。

远程服务器名称——填远程机器的IP地址或主机名,我这里填的虚拟机的IP。( 注意要保证能和物理机能连接。我在虚拟机里已经和物理机网络进行了桥接,分配了同一个内网的IP地址。)

连接——本机就选不带身份验证的远程访问。


④打上断点F5运行,就可以在物理机的vs2008中跟踪虚拟机中运行的程序了。


Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐