vs-debugger远程调试卡死解决

本地运行vs进行远程调试c#代码的时候,会出现卡死不动

本次通过vs 版本2019进行测试

服务器对应目录

vs2019对应远程服务器目录

/root/.vs-debugger/vs2019

vs2022对应远程服务器目录

/root/.vs-debugger/vs2022
分析

经过分析,发送服务器正在下载vs支持的库

ps aux|grep GetVsDbg

如果输出有类似内容,说明服务器正在下载

[root@vv-test .vs-debugger]# ps aux|grep GetVsDbg
root       20055  0.0  0.0  12988  3320 ?        Ss   16:54   0:00 /bin/sh /root/.vs-debugger/GetVsDbg.sh -v vs2019 -l /root/.vs-debugger/vs2019 -a /root/.vs-debugger/GetVsDbg.sh -o
root       20299  0.0  0.0  12136  1072 pts/0    S+   16:56   0:00 grep --color=auto vs2019

通过wget搜索,看下正在下载的是哪个

ps aux|grep wget
[root@vv-test .vs-debugger]# ps aux|grep wget
root       17675  0.0  0.1  68460 12308 ?        S    16:34   0:00 wget -q https://vsdebugger.azureedge.net/vsdbg-17-4-11017-1/vsdbg-linux-x64.tar.gz -O vsdbg-linux-x64.tar.gz

可以看到,正在下载

wget -q https://vsdebugger.azureedge.net/vsdbg-17-4-11017-1/vsdbg-linux-x64.tar.gz -O vsdbg-linux-x64.tar.gz
本地下载,上传服务器对应的目录

这个地址是国外的,访问特别慢,我们可以通过迅雷加速本地下载,然后上传到服务器对应的目录

如果有境外的服务器,也可以通过境外服务器下载

修改脚本,然后手动执行
vim /root/.vs-debugger/GetVsDbg.sh

找到download方法,注释下载的代码

手动执行脚本

/bin/sh /root/.vs-debugger/GetVsDbg.sh -v vs2019 -l /root/.vs-debugger/vs2019 -a /root/.vs-debugger/GetVsDbg.sh -o

检查

cat /root/.vs-debugger/vs2019/success.txt /root/.vs-debugger/vs2019/version.txt
[root@vv-test .vs-debugger]# cat /root/.vs-debugger/vs2019/success.txt /root/.vs-debugger/vs2019/version.txt 
17.4.11017.1
17.4.11017.1 commit:fe68eee3d38c1935f4872cebf5f8a86033673f76
测试

本地再次进行调试,发现已经可以调试,不再卡死不动

查看服务器,有一个调试的进程,

ps aux|grep remote_debugger
最后

修改的脚本无需还原,当远程调试的时候,会自动下载最新脚本

经验分享 程序员 微信小程序 职场和发展