树莓派 Linux VS code 远程断点调试 .net 6.0 保姆级教程

  • 安装树莓派系统或者其他系统
  • 树莓派 net 6.0 及 调试器 安装
  • windows软件安装

入手Linux有一段时间了,之前会写点C#,做的大多也是单片机的开发,对于能够断点调试那是成为了代码开发的一个执念,加上微软也在大力推广.net,如何利用X86的高性能编译来断点调试linux设备上的.net程序,就困扰了一段时间,通过看国内外大佬的教程,这里总结了以下一个不算非常严谨的教程,希望能够帮助大家解决一点疑惑。

安装树莓派系统或者其他系统

这里我们主要以树莓派系统为例子,其他的Linux按理说是可以完全复制的。
官方Raspbian

32位下载地址
64位下载地址

安装完系统之后开启SSH,方便后面进行调试。
树莓派开启ssh教程
感谢这位大佬出的教程。

树莓派 net 6.0 及 调试器 安装

!!!这里还是建议安装32位系统64位系统也是可以安装的。

这里首先需要换个树莓派的源加快下载速度
点击->>树莓派换源加快下载速度
这里参考夸克之书的教程 https://www.quarkbook.com/?p=683 感谢大佬的教程
安装.Net Core依赖

$ sudo apt install libunwind8 libunwind8-dev gettext libicu-dev liblttng-ust-dev libcurl4 libcurl4-openssl-dev libssl-dev uuid-dev unzip libgdiplus libkrb5-3

下载 net 6.0 SDK
可自行下载版本 https://dotnet.microsoft.com/download/dotnet 替换wget 后面地址就可以了

64位系统

$ wget https://download.visualstudio.microsoft.com/download/pr/084d5037-7dee-4654-b91a-fe303fa62d74/553744c6fcf2ed1128e40fa9f6cd4516/dotnet-sdk-6.0.100-preview.7.21379.14-linux-arm64.tar.gz

32位系统

$ wget https://download.visualstudio.microsoft.com/download/pr/501903b0-5e47-4b76-a965-fabafcd95ff5/d6f197c99957b356ee8f0c6e2304ff09/dotnet-sdk-6.0.100-preview.7.21379.14-linux-arm.tar.gz

创建dotnet文件夹

$ mkdir dotnet

移动并解压

$ mv dotnet-sdk-6.0.100-preview.7.21379.14-linux-arm64.tar.gz dotnet
$ cd dotnet/
$ tar xvf dotnet-sdk-6.0.100-preview.7.21379.14-linux-arm64.tar.gz

移动dotnet到user/local下面

$ cd ..
$ sudo mv dotnet /usr/local/
$ cd /usr/local/

创建软连接

$ sudo ln -s /usr/local/dotnet/dotnet /usr/local/bin

测试

$ dotnet --version

打印 net 版本表示安装成功

为 linux-arm(目标计算机)安装调试器

$ curl -sSL https://aka.ms/getvsdbgsh | bash /dev/stdin -r linux-arm -v latest -l ~/vsdbg

显示如下信息表示安装成功

Info: Last installed version of vsdbg is '17.0.10712.2'
Info: VsDbg is up-to-date
Info: Using vsdbg version '17.0.10712.2'
Using argumentsVersion                    : 'latest'Location                   : '/home/pi/vsdbg'SkipDownloads              : 'true'LaunchVsDbgAfter           : 'false'RemoveExistingOnUpgrade    : 'false'
Info: Skipping downloads

接着开启树莓派共享文件夹,也是这次能够实现高性能调试的关键之一。
安装 Samba

sudo apt-get install samba samba-common-bin

在树莓派桌面创建文件夹名为mytest
配置 Samba

sudo nano /etc/samba/smb.conf

在文件末尾加上如下内容,其中/home/pi/Desktop/mytest 为共享文件夹目录

[public]comment = public storagepath = /home/pi/Desktop/mytestvalid users = piread only = nocreate mask = 0777directory mask = 0777guest ok = nobrowseable = yes

其中 valid users 即 pi 为有效用户,还需要添加其到 Samba 中

sudo smbpasswd -a pi

重启 samba 以生效配置

sudo samba restart

Windows上映射这个文件夹



至此树莓派设置完成

windows软件安装

windows上同样安装(点击即可下载,安装最好都是默认安装,不要改安装位置,熟悉远离后可自行修改)
->>net 6.0
->>VS code
->>pytty
->>git
PuTTY需要设置免输密码自动登录Linux
下面教程中需要在/home/pi 下新建.ssh文件夹

$ cd /home/pi
$ mkdir .ssh

同样感谢这位大佬的教程,->>具体教程这里给出链接

打开创建的共享盘

创建文件夹 vsnet

进入vsnet文件夹,在空白的地方按住shift 点击右键,选择 “在此处打开 Powershell 窗口(s)”
输入命令

dotnet new console -n vsnet

打开VS code,选择文件,打开文件夹,选择共享盘根目录下的vsnet文件夹。

这里需要安装一个C#的扩展

打开这个文件,按F5,会提示创建相关文件

选择.NET Core

打开launch.json,这里需要做一些配置,图下给出的代码,直接复制过去。

{// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0","configurations": [{"name": ".NET Core Launch (console)","type": "coreclr","request": "launch","preLaunchTask": "build","program": "/home/pi/Desktop/mytest/vsnet/vsnet/bin/Debug/net6.0/vsnet.dll","args": [],"cwd": "/home/pi/Desktop/mytest/vsnet/vsnet/bin/Debug/net6.0","stopAtEntry": false,"console": "internalConsole","pipeTransport": {"pipeCwd": "${workspaceFolder}","pipeProgram": "c:\\Program Files\\PuTTY\\plink.exe","pipeArgs": ["-i","c:\\Users\\zf\\my001.ppk","pi@192.168.1.41"],"debuggerPath": "/home/pi/vsdbg/vsdbg"}}]
}

至此按下F5 即可调用高性能的windows电脑编译程序,并可以断点调试树莓派上的.net 程序。

运用共享文件夹的目的是为了省略从电脑拷贝文件到树莓派上的这一过程。
这里贴上GitHub上的说明 https://github.com/OmniSharp/omnisharp-vscode/wiki/Remote-Debugging-On-Linux-Arm
如有疏漏之处,可留言提出。

树莓派 Linux VS code 远程断点调试 .net 6.0 保姆级教程相关推荐

  1. 『PHP』手把手教你使用phpstorm+xdebug调试php代码(保姆级教程)

    文章目录 前言 搭建调试用服务器 配置phpstorm项目和php.ini 接入调试 ①浏览器调试(推荐) ②phpstorm调试 完 前言 环境基于: phpstorm 2020.1 phpstud ...

  2. linux系统如何配置下载源及中文(保姆级教程)

    linux配置中文首先要下载国内源 1,点击左下角菜单,找到软件与更新 2,如图所示,点击即可 3,找到China  ,选择阿里源 4,更改完阿里源后回到桌面,右上角点击设置 5,找到区域与语言,管理 ...

  3. 【Minecraft】在Linux上架设我的世界Minecraft服务器(保姆级教程)

    这篇文章也可以在我的博客中查看 准备工作 一台服务器 vps或者独立服务器都可以,有完全控制权就ok 建议选择国内服务器,国外服务器连接时延较高,不适合做游戏服务器 租用前应详细了解配置要求(以下配置 ...

  4. idea远程断点调试

    在idea里面配置远程断点调试 192.168.198.130 是远程服务端口,5005是远程服务连接端口 在linux启动在线服务, 在启动服务里面加入参数 -Xdebug -agentlib:jd ...

  5. IDEA 远程断点调试

    IDEA 远程断点调试 有时候,有些bug无法在本地环境复现,此时就需要我们去线上的机器远程debug,可以采用idea Remove JVM Debug模式. 首先,点击Edit Configura ...

  6. IDEA远程断点调试jar包

    今天做项目时碰到一个问题,线上服务报错,本地环境却没问题,此时就需要我们去线上的机器远程debug,可以采用idea Remove JVM Debug模式. 步骤 第一步:点击Edit Configu ...

  7. IDEA如何远程断点调试jar包

    1.问题 以jar包的形式运行Spring Boot项目时报错,但是在IDEA开发环境下编译运行Spring Boot项目不报错,如何复现jar包运行时的错误呢?这就需要在IDEA下远程断点调试jar ...

  8. 保姆级教程:Linux(Ubuntu 18.04)下VSCode配置与嵌入式开发平台X2000_Halley5调试环境搭建

    保姆级教程:Linux(Ubuntu 18.04)下VSCode配置与嵌入式开发平台X2000_Halley5调试环境搭建 写在前面 配置VSCode的编译环境 配置VSCode的gdb调试环境 配置 ...

  9. Linux挂载新硬盘【保姆级教程】

    目录 写在前面 Get服务器的IP地址.账密 保姆级挂载指南 设置开机自动挂载硬盘 写在前面 [注意]你的电脑连接学校的无线网或者通过学校的网线端口上网,否则你是连不上学校服务器,也不能运行代码!!! ...

  10. 保姆级教程带你在VMware中安装Linux Debinan操作系统

    保姆级教程带你在VMware中安装Linux Debinan操作系统 文章目录 保姆级教程带你在VMware中安装Linux Debinan操作系统 1.Debinan系统介绍 2.Debinan操作 ...

最新文章

  1. Set常用用法元素检索
  2. iOS动态部署之RSA加密传输Patch补丁
  3. RuntimeError: ‘cryptography‘ package is required for sha256_password or caching_sha2_password auth m
  4. linux忘记mysql登录用户密码_linux中忘记mysql用户root密码解决方案
  5. [Serializable]在C#中的作用——实现.NET对象序列化
  6. Underscore.js
  7. 最好用的终端模拟器ZOC for Mac 8.04
  8. BOW(opencv源码)
  9. Java 字符串拼接
  10. 业务层有什么作用java_请问业务层方法是抛出一个异常好还是返回一个结果更好...
  11. 运维小知识---If you insist running as root, then set the environment variable RUN_AS_USER=root......
  12. windows下软件安装:Anaconda下安装Pymol
  13. 针对在校大学生的C语言入门学习——高级语法
  14. 如何安装Eclipse WTP插件
  15. Java、JSP服装销售管理系统
  16. 启动MySQL报错:ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)
  17. python自学视频与excel_小白也能学习的 python pandas excel 处理[视频]
  18. Spring3.1.0实现原理分析(七).填充Bean属性,初始化Bean,登记善后处理,注册单例Bean
  19. 如何学编程,我的一些学习感悟
  20. [原]利用极域电子教室控制别人电脑

热门文章

  1. 【调剂】2022年燕山大学电气工程学院 程淑红教授“计算机视觉与人工智能”团队调剂招生信息...
  2. 微信小程序踩坑——项目内文件夹删除不掉
  3. ACM-ICPC 2018 沈阳赛区网络预赛 F题 Fantastic Graph
  4. 使用html5与js实现音乐播放器
  5. Codeforces Round #521 (Div. 3) E. Thematic Contests(思维)
  6. E. Thematic Contests(离散化+排序+二分)Codeforces Round #521 (Div. 3)
  7. peoplesoft 更新表接口程序
  8. faker造数据写入Excel表中
  9. 去掉word中的页眉
  10. xshell6配色-保护您的眼睛