使用SSH在Linux上Debug .net core程序

官方教程:
https://docs.microsoft.com/en-us/visualstudio/debugger/remote-debugging-dotnet-core-linux-with-ssh?view=vs-2019

一、 环境
a) 开发工具:Visual Studio 2019 16.6.2
b) 程序框架:.net core 3.1 ConsoleApp
c) Linux发行版:Kylin

二、 准备工作
a) Linux

  • 安装.net core ,根据自己的linux发行版选择相应的即可(Kylin)官方教程:https://docs.microsoft.com/zh-cn/dotnet/core/install/linux
  • 安装SSH服务器
    输入命令:sudo apt-get install openssh-server unzip curl
  • 启动SSH服务器
    输入命令:sudo /etc/init.d/ssh start
    (关闭SSH服务器的命令为:sudo /etc/init.d/ssh stop)

b) Windows

  • 创建.net core ConsoleApp 版本为 3.1
  • 构建应用程序时,使用调试配置

(为什么要这么设置?见官方文档—Build and deploy the application第一点)

  • 修改Debugging information
    Properties > Build > Advanced > Debugging Information.
    (为什么要这么设置?见官方文档—Build and deploy the application第二点)

c) 预处理
i. 有两种方法进行预处理

  1. 在Windows上编译
  2. 在Linux上使用dotnet build进行编译
    a) 进入到Solution目录下(包含.sln文件的目录)
    b) 输入:ls -al 查看当前文件夹权限
    i. 若文件权限都为root 应变更权限为当前用户
    输入:chown -R kylin:kylin . (注意有个点 全部文件
    的意思) 这里kylin是本机的用户名 需要根据情况进行修改具体见下边的链接

命令参考:
https://www.runoob.com/linux/linux-comm-chown.html

d) 将程序从Windows上移植到Linux上

  • U盘拷贝等方法

三、 开始Debug
a) 在windows上使用VS打开程序并设置断点
b) 配置断点信息,使其可以在不同代码间使用(一定要确保当前断点所在的行与linux文件下当前行信息一致)

  • 光标放置于断点上,点击Setting

  • 点击Location

  • 选中Allow the source code to be different from the original

c) 在菜单栏中选择Debug > Attach to Process….
d) 窗口中选择Connection Type为SSH
e) 改变Connection Target为IP地址或者目的主机的主机名

f) 点击Refresh
g) 连接需要输入username 以及 password 这两者都是目的主机的信息

h) 在linux中启动程序

  • 进入到Solution的debug目录下 输入:dotnet xxx.dll

i) 搜索栏中搜索dotnet
j) 根据Title选中相应进程
k) 点击Attach连接
l) 选择Managed (.NET Core for Unix)
m) OK

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值