VS 远程调试-Remote Debugger

小编开发的exe在本地可以正常运行,放到别的PC上经常遇各种各样的奇葩问题,但是研发工作环境又无法复现。这个时候远程调试可以发挥它强大的功能,在本地就可以调试运行在现场环境的程序。

一、获取远程工具

有两种方式能够获取Remote Debugger
1.从官网下载:https://learn.microsoft.com/en-us/visualstudio/debugger/remote-debugging?view=vs-2019
2.从主机安装Visual Studio的目录中获取,我的目录为:D:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Remote Debugger

二、使用Remote Debugger工具

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

2.启动该工具(msvsmon.exe),点击工具->选项,随机填写对应的端口号
注:端口号不可填写已经占用的端口(可以使用命令行 netstat -ano查看端口占用情况)
在这里插入图片描述
3.配置用户身份验证方式。远程工具支持两种方式:Windows Authentication(默认方式),和No Authentication。我选择无身份验证,点击确定。
在这里插入图片描述

三、VS调试设置

1.把研发主机生成的exe、pdb以及依赖的动态库dll文件全部拷贝到远程主机上,保证工程代码和现场运行软件的代码为同一份,否则可能导致attach的是之前编译的版本,导致两台电脑不匹配。
然后把程序运行起来。

2.用VS生成exe程序的源代码,点击调试->附加到进程,进入附加进程界面。
因为采用无身份验证,Connection Type选择Remote。在Connection Target中输入对方主机名和TCP/IP端口号,亦可用对方主机的IP地址代替主机名,点击Find,跳出远程连接界面,选择自动检测到的设备名,点击Select。
在这里插入图片描述
3.在Attach to Process页面中勾选Show processes from all users,在所有进程中找到远程主机运行的exe程序,双击程序名或选中该进程,点击Attch附加到进程中。
注:若找不到,可点击Refresh刷新远程目标机器的当前进程列表
4.当连接成功之后,远程主机的Remote Debugger会显示你已经连接,如下图所示:
在这里插入图片描述
然后就能在本地主机A中对对方主机运行的C程序进行调试了。

问题参考

1.“远程调试监视器(MSVSMON.EXE)似乎没有在远程计算机上运行“的完美解决方案
解决方法:
1)查看Windows Firewall服务(或其它防火墙软件)是否启动,如果启动则关闭。

2)删除项目目录下bin和obj两个文件夹,然后重新生成项目。在重新生成时可能会提示引用的DLL错误,重新引用报错的DLL后,再次生成即可。

2.远程调试错误和疑难解答:
https://learn.microsoft.com/zh-cn/visualstudio/debugger/remote-debugging-errors-and-troubleshooting?view=vs-2022

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值