VS2017 远程调试--Remote Debugger

编程小白遇到本机A运行C.exe程序成功,放到别人的机子B上无法运行的问题,由于B主机上没有VS无法进行调试。

查找资料发现微软提供了一种Remote Debugging a Visual C++ Project in Visual Studio的方法。

网址为:https://docs.microsoft.com/en-us/visualstudio/debugger/remote-debugging-cpp?view=vs-2017

下面详细介绍一下操作流程,仅供下次遇到时参考。

一、远程工具的获取和选择

    有两种方式能够获取Remote Debugger。一种是从MSDN的文档中下载,另一种是从主机安装Visual Studio的目录中获取,我的目录为:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE

一定要选择与对方主机B的操作系统相匹配的远程工具,如x64、x86,和ARM等。把找到的Remote Debugger文件夹拷贝到对方主机B的任意位置。

二、远程工具的使用

  • 以管理员权限打开Remote Debugger文件夹下的msvsmon.exe程序,如下图所示: 

其中,红色方框标记处为主机名和TCP/IP端口号4022。

  • 点击Tools-->Options,配置用户身份验证方式。远程工具支持两种方式:Windows Authentication(默认方式),和No Authentication。我采用第二种,一定要勾选Allow any user to debug,点击确认。

三、VS调试设置

    在VS2017中,打开对方主机B运行的exe程序的应用程序源代码。注意,当前源代码的编译结果要与生成B主机运行的C.exe文件相同,不然存在调试不匹配问题。

  • 点击Debug-->Attach to Process,进入到附加到进程页面。因为采用无身份验证,Connection Type选择Remote。在Connection Target中输入对方主机名和TCP/IP端口号,亦可用对方主机的IP地址代替主机名,点击Find,跳出远程连接界面,选择自动检测到的设备名,点击Select。

当连接成功之后,对方主机B的Remote Debugger会显示你已经连接,如下图所示: 

 

  • 在Attach to Process页面中勾选Show processes from all users,在所有进程中找到对方主机运行的C.exe程序,双击程序名或选中该进程,点击Attch附加到进程中。注意:若找不到,可点击Refresh刷新远程目标机器的当前进程列表,大前提是对方主机B运行该C.exe程序。

然后就能在本地主机A中对对方主机运行的C程序进行调试了,找到出错原因。

猜你喜欢

转载自blog.csdn.net/hanxiucaolss/article/details/88870949