未来可期-Visual Studio 远程Linux服务

说明
dotnet开发工具VisualStudio的远程调试方式,MSDN上面也是有介绍,只是单介绍了使用方法,必要的调试环境部署并没有说明。这里完整的介绍下VisualStudio下远程调试dotnet程序的整个过程。

环境准备
安装ssh
先检查是否已经安装了并开启了SSH服务和SFTP
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/0ff9fdcdf6a9486c97921e8b963297a3.png在这里插入图片描述

如果未安装,需要单独安装下(Ubuntu 20.04下SFTP会随SSH一起安装)
在这里插入图片描述

安装vsdebugger(以VS2022为例,2019的话,将下方2022替换为2019即可)
1. 需要先下载安装脚本,运行安装脚本时会下载调试环境的安装包,但是下载的会非常慢,所以我就直接把安装脚本和环境部署包统一先下载好了,共有x64、Arm64两个平台,可以在附件中下载

    2. 将安装脚本GetVsDbg.sh上传到目标主机的任意位置。附件中的脚本文件已经注释了downoad方法内下载的逻辑,只会执行安装步骤

    3. 根据自己使用的VisualStudio版本和目标主机平台,将环境部署包上传到常用账户的根目录的.vs-debugger目录下。如使用的VisualStudio 2022,则放到/home/nvidia/.vs-debugger/vs2022下

    4. 转到GetVsDbg.sh所在的位置,执行命令安装调试环境

        sh GetVsDbg.sh -v vs2022 -l /home/nvidia/.vs-debugger/vs2022

    5. 安装好环境后,需要将调试工具复制一份到root账户下,否则无法在root账户下远程调试

        sudo cp -r /home/nvidia/.vs-debugger /root/

开放root账户的ssh远程访问
1. 如果目标程序运行在root权限下,则远程调试时需要登录root账户,所以root账号的远程访问限制必须先打开

    2. 开启root账户ssh远程访问权限

            a. 打开ssh配置文件

                sudo vim /etc/ssh/sshd_config

            b. 找到PermitRootLogin,去掉前面的#,并将值修改为yes

            c. 设置root账户密码

                root账户一般是没有密码的,但是我们远程调试时,会要求输入密码,否则无法访问目标主机

                执行命令设置root命令: sudo passwd

调试过程
发布Debug包,并更新到目标系统上(车端)
注:仅支持Debug包的调试,Release包无法调试,打不上断点

启动车端程序
VisualStudio中选择“附加” -> “附加到进程”
在这里插入图片描述

连接类型选择“SSH”,连接目标输入目标系统的账户和IP地址
注:如果目标主机上程序是以root账户运行的,需要将nvidia修改为root
在这里插入图片描述

点击右下角的刷新按钮,即可加载出目标主机上的进程。如果列表中找不到目标进程,可以将左侧的显示所有用户的进程勾选上,会显示更多的进程
注:对于使用dotnet指令启动的程序,进程名称都是dotnet,需要通过标题区分启动的实际程序
在这里插入图片描述

找到目标进程并选中后,下方的附件按钮,在弹出的窗口中选择托管,然后点击确定,即可开始远程调试

VSCode 安装下图:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值