记一次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/