VS2008远程调试操作方法

时间:2023-02-02 17:49:20

前言

最近遇到一个问题:组态王在本地调试机上运行正常,但在远程测试机上运行却出现了崩溃。本机上装有Visual Studio 2008,测试机上则没有。于是,在网上找资料,想利用远程调试方法,在本机上调试测试机出现的软件崩溃问题。

基本概念

   1、  目标机:

   远程需要调试的机子,也就是被调试程序exe所在的机子,VS2008可装可不装。

   2、  调试机:

   安装VS2008的机子,就是存放代码设断点调试的机子,须装VS2008。

远程调试配置

目标机配置:

如果目标机安装了VS2008则直接在【开始菜单】->【Microsoft Visual Studio2008】->【VisualStudio Tools】下面找到Visual Studio 2008 Remote Debugger运行即可;

VS2008远程调试操作方法

如果目标机没有安装VS2008则需要将调试机上VS2008安装目录下相应的远程debug工具(路径:C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\Remote Debugger\x86\msvsmon.exe)拷贝到目标机应用程序所在的目录下,然后运行。

                        VS2008远程调试操作方法

注意:此处要根据你的程序是32位或者64位选择不同的版本,如果是在Win7下面还要以管理员身份运行。如果是第一次运行可能需要设置防火墙,请允许防火墙放行,具体设置方法请自行百度。

运行后,选择【Tools】->【Options】设置Debugger参数如下:

VS2008远程调试操作方法

此处设置无身份验证模式(No Authentication),并且允许任何用户进行调试,端口默认为4015,最大空闲时间为900秒。确定后,(如下图所示)目标机的设置就基本完成了~

VS2008远程调试操作方法

调试机配置:

打开VS2008,打开要调试工程的属性,在Debugging选项页内,做如下设置:

VS2008远程调试操作方法

其中,Remote Command 中的路径为目标机上要调试的exe的绝对路径;Remote Server Name为目标机的IP地址(与调试机在局域网同一网段);Connection和Debugger Type与目标机的设置保持一致。

设置完成后按F5即可远程调试目标机程序,此时目标机调试器输出此时建立的远程调试连接,如下图所示:

VS2008远程调试操作方法

需要注意的几个地方:

1、调试机和被调试机都在一个局域网内,且必须在一个网段

2、调试机和被调试机必须登录相同的用户,用户名必须一直关闭防火墙或打开相应的端口,一般是4015。

3、 确保目标机上要调试的exe程序与调试机保持一致,否则导致无法设置断点,PDB不一致。