记一次Visual Studio启动WSL远程调试的方法

安装wsl的方法在此就不提了,就说几点注意事项就行了Internal选项里记得打开tls1.2,不然store打开很可能报错

然后在store里安装好Ubuntu后,记得先打开ps然后运行

wsl --update

然后在打开Ubuntu设置账号密码等

安装好后,第一步就是sudo apt-get update , sudo apt-get update upgrade

好,以上的准备工作到底为止,我们开始正题

在使用Visual Studio进行wsl远程调试,或者别的什么Linux设备上进行调试的时候,我们时常会遇到一个问题

就是启动wsl调试以后,直接显示

 并且我们查看输出窗口只能看到

 这样的信息

其实这个时候, 我们去WSL里面,使用htop(需要单独安装)查看目前的进程,我们会发现

 其实我们的wsl请求已经启动了,但是因为vs无法在wsl上面找到调试工具,所以先运行了UpdateDebugger.sh来配置调试环境,而由于众所周知的原因,wget下载请求堵塞住了,所以vs的远程调试工具无法正常安装,

我看了下,https://vsdebugger.azureedge.net/vsdbg-17-6-10208-1/vsdbg-linux-x64.tar.gz其实可以访问并且下载的,只是速度非常缓慢62.5 MB的文件传输速度只有10kb/s左右,也就是说,你只要耐心等上一个多小时以上,等待他下载完毕后,并配置成功后,然后再开始wsl调试就没问题了,那如果我们想加快这个进度怎么办呢

说实话,有个办法,不过需要先准备萪學仩網功能,至于怎么萪學仩網,就只能八仙过海各显神通了

我说下我的办法

先安装proxychains

sudo apt-get install proxychains

然后配置proxychains

sudo nano "/etc/proxychains.conf"

拉到最下面,

 我这边使用的是socks5,你们要设置成自己用的,然后Ctrl+X退出并保存

接下来,我们在上图看到vs启动wsl的脚本命令是 /bin/bash /mnt/c/program files/microsoft visual studio/2022/community/common7/ide/extensions/pg1an4fy.34g/Scripts/UpdateDebugger.sh

我们把它复制下来,不能照抄我的,理论上随着vs每个版本的不同,pg1an4fy.34g一定会不同,所以要根据自己电脑实际的文件来

然后我们输入以下命令

proxychains /bin/bash "/mnt/c/Program Files/Microsoft Visual Studio/2022/Community/Common7/IDE/Extensions/pg1an4fy.34g/Scripts/UpdateDebugger.sh"

我们使用proxychains 来加载该脚本文件,然后等待片刻后,马上就会出现脚本配置信息

接下来再用VS进行WSL调试就不会报错了

PS:另外我发现,上述脚本就是vs安装目录里面的一个脚本,在其他Linux设备上,想进行同样的操作,先执行一次远程调试,这个时候VS会在远程设备上下载GetVsDbg.sh,我们在这个时候,同样安装配置proxychains ,再用proxychains 调用GetVsDbg.sh脚本就可以了,然后就可以使用vs在远程设备上进行调试了

proxychains /bin/sh /root/.vs-debugger/GetVsDbg.sh -v vs2022 -u -l /root/.vs-debugger/vs2022/

 

posted @ 2023-05-03 16:26  0Emil0  阅读(405)  评论(0编辑  收藏  举报