使用 Visual Studio 调试器附加到正在运行的进程

使用场景

当项目在测试环境上有bug,需要运行代码调试一下,这时就需要在测试环境上安装一个调试工具,然后在本地运行代码,远程链接到测试环境服务器来调试代码;

方式一:工具下载

https://visualstudio.microsoft.com/zh-hans/downloads/?rr=https://docs.microsoft.com/en-us/visualstudio/debugger/remote-debugging?view=vs-2019

使用 Visual Studio 调试器附加到正在运行的进程_服务器

方式二:拷贝工具

D:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\Remote Debugger

找到自己的vs安装路径,我的安装路径为上面的,把Remote Debugger拷贝到服务其上面运行使用 Visual Studio 调试器附加到正在运行的进程_测试环境_02

服务器运行

使用 Visual Studio 调试器附加到正在运行的进程_服务器_03
在工具 》选项 》设置无身份验证,并且运行用户进行调试
使用 Visual Studio 调试器附加到正在运行的进程_microsoft_04

使用 Visual Studio 调试器附加到正在运行的进程_远程调试_05

vs附加到进程,开始调试

在vs的控制栏中,调试 =》附加到进程 =》选择远程(无身份验证)
使用 Visual Studio 调试器附加到正在运行的进程_测试环境_06

输入完连接的目标ip后一点要回车附加就可以远程调试

问题一:远程调试器的一个实例已在此计算机上运行,或另一个进程已绑定到指定TCPP端口。如果您要运行远程调i试器的多个实例,则必苏使用另一个端口号。请输入新端口号。

使用 Visual Studio 调试器附加到正在运行的进程_远程调试_07
解决办法:

  • 1.首先查看占用端口的pid ,在cmd中输入netstat -aon|findstr "4024" 查查看pid,
  • 2.结束掉运行的程序 ,pid为 25556的程序 taskkill -pid 25556 -f

使用 Visual Studio 调试器附加到正在运行的进程_身份验证_08

问题二:无法连接到名为"****.**:4025"的 Microsoft Visual Studio远程调试器。远程调试器拒绝了连接请求。请确保远程调试器在"无身份验证"模式下运行。

请检查端口链接目标的端口是否正确,这里有很重要的一步,就是一定要一致,要是链接不到服务器的话,关闭服务器的防火墙,在这里不要点查找,输入完连接的目标ip后一点要回车

使用 Visual Studio 调试器附加到正在运行的进程_测试环境_09

补充:当前不会命中断点。

参考地址:http://t.zoukankan.com/willingtolove-p-11426701.html
使用 Visual Studio 调试器附加到正在运行的进程_测试环境_10

解决办法:

  • 本地代码和测试环境上的代码有差异
  • 程序集是release版,而不是debug版

使用 Visual Studio 调试器附加到正在运行的进程_microsoft_11