1.前提准备
linux 服务器安装ssh
sudo apt-get install openssh-server unzip curl
在vs2022选项窗体取消以下勾选
2.vs2022 远程调试操作步骤
打开:调试>附加到进程窗体,连接类型选择Docker(Linux容器),点击“查找”
点击添加
输入服务器ip、用户名、密码,点击连接
选择目标容器实例,点击确定
选择目标进程,点击附加
现在就可以自由调试了
成功命中断点
3.踩坑分享
在附加到进程界面,点击“附加” 后,vs 长时间卡在 “正在启动调试适配器...”,或者直接报错,
这是因为容器在下载必要的vsdbg包,由于包的服务器在国外,无法下载,导致界面卡死。需要我们手动下载安装vsdbg包。
查看容器内需要下载的包,将连接复制出来手动下载包,然后上传Linux
进入容器内部,进入 /root/.vs-debugger 路径, 将GetVsDbg.sh 文件的下载部分的代码注释
编辑GetVsDbg.sh, 我用的是vim编辑器,由于容器实例是简易版linux,不存在vim,需要自己安装
打开GetVsDbg.sh 文件后,找到 download方法,注释的代码如下图所示
用docker cp 命令将包拷贝到容器内的 /root/.vs-debugger/vs2022/ 路径下,拷贝成功会出现successfully提示
容器内输入如下命令,出现版本信息说明成功,接下来就可以正常调试了
/bin/sh "/root/.vs-debugger/GetVsDbg.sh" -v vs2022 -l "/root/.vs-debugger/vs2022" -a "/remote_debugger"
参考文档: 附加到 Docker 容器上运行的进程 - Visual Studio (Windows) |Microsoft 学习 www.cnblogs.com/ZLiLiang/p/…