2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 树莓派 Linux VS code 远程断点调试 .net 6.0 保姆级教程

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

时间:2021-07-19 04:35:21

相关推荐

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

树莓派 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位系统也是可以安装的。

这里首先需要换个树莓派的源加快下载速度

点击->>树莓派换源加快下载速度

这里参考夸克之书的教程 /?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

可自行下载版本 /download/dotnet 替换wget 后面地址就可以了

64位系统

$ wget https://download./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./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-dateInfo: 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 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更多信息,请访问: /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上的说明 /OmniSharp/omnisharp-vscode/wiki/Remote-Debugging-On-Linux-Arm

如有疏漏之处,可留言提出。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。