在Windows上远程调试Ubuntu-Arm上的.Netcore
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了在Windows上远程调试Ubuntu-Arm上的.Netcore,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3414字,纯文字阅读大概需要5分钟。
内容图文
![在Windows上远程调试Ubuntu-Arm上的.Netcore](/upload/InfoBanner/zyjiaocheng/928/be5acde258d049d89fa8e1ca0b24532a.jpg)
在 Linux 上使用 SSH 通过附加到进程调试 .NET Core
自 Visual Studio 2017 起,可以通过 SSH 附加到在本地或远程 Linux 部署上运行的 .NET Core 进程。 本文介绍调试的设置方法和调试方法。 有关使用 Docker 容器的调试方案,请参阅附加到在 Docker 容器上运行的进程。
先决条件
-
在 Visual Studio 计算机上,需要安装“ASP.NET 和 Web 开发”工作负载或“.NET Core 跨平台开发”工作负载 。
-
在 Linux 服务器上,需要安装 SSH 服务器,可使用 curl 或 wget 解压缩并安装。 例如,在 Ubuntu 上,可以通过运行以下内容来实现此目的:
cmd复制
sudo apt-get install openssh-server unzip curl
-
在 Linux 服务器上,在 Linux 上安装 .NET 运行时,并找到与 Linux 发行版(如 Ubuntu)匹配的页面。 .NET SDK 不是必需的。
-
有关全面的 ASP.NET Core 说明,请参阅使用 Nginx 在 Linux 上托管 ASP.NET Core 和使用 Apache 在 Linux 上托管 ASP.NET Core。
准备应用程序进行调试
准备应用程序以进行调试:
- 生成应用程序时,请考虑使用“调试”配置。 调试零售编译代码(发布配置)比调试编译代码要困难得多。 如果需要使用“发布”配置,请先禁用“仅我的代码”。 若要禁用此设置,请选择“工具” > “选项” > “调试”,然后选择“启用仅我的代码” 。
- 请确保项目配置为生成可移植 PDB(默认设置),并确保 PDB 与 DLL 位于相同的位置。 若要在 Visual Studio 中配置此项目,请右键单击它,然后选择“属性” > “生成” > “高级” > “调试信息” 。
生成并部署应用程序
在调试之前,可以使用多种方法来部署应用。 例如,你可以:
- 将源复制到目标计算机,并在 Linux 计算机上使用
dotnet build
进行生成。 - 在 Windows 上生成应用,然后将生成项目传输到 Linux 计算机。 (生成工件包含应用程序本身、可移植 PDB、它可能依赖的任何运行时库和 .deps.json 文件。)
在应用部署后,启动应用程序。
附加调试器
当应用程序在 Linux 计算机上运行时,就可以附加调试器了。
-
在 Visual Studio 中,选择“调试” > “附加到进程…” 。
-
在“连接类型”列表中,选择“SSH” 。
-
将“连接目标”更改为目标计算机的 IP 地址或主机名。
如果你还没有提供凭据,系统会提示你输入密码和/或私钥文件。
除了 SSH 服务器运行的端口外,不需要配置任何端口。
-
查找要调试的进程。
代码以唯一的进程名或名为 dotnet 的进程运行。 若要查找你感兴趣的进程,请查看“Title”列,该列显示了进程的命令行参数。
在下面的示例中,你将在“附加到进程”对话框中显示的 SSH 传输上看到远程 Linux 计算机中的进程列表。
-
选择 “附加” 。
-
在显示的对话框中,选择要调试的代码类型。 选择“托管(.NET Core for Unix)”。
-
使用 Visual Studio 调试功能来调试应用。
在下面的示例中,你将看到 Visual Studio 调试器在远程 Linux 计算机上运行的代码断点停止。
可能遇到的问题及解决
-
由于
GFW
的原因linux端的~/vsdbg
下载会失败,安装对应版本的clash-
下载 https://github.com/Dreamacro/clash 的 release
-
下载配置文件
-
解压缩并运行 clash
-
设置 系统 或者 terminal 的代理为 clash 开放的代理端口(7890/7891)
-
-
设置代理
export http_proxy="http://127.0.0.1:7890" export https_proxy="http://127.0.0.1:7890"
-
手动执行
shell
下载vsdbg
# 下载GetVsDbg.sh curl -sSL https://aka.ms/getvsdbgsh | /bin/sh /dev/stdin -v latest -l ~/vsdbg # 使用GetVsDbg.sh下载vsdbg /bin/sh /root/.vs-debugger/GetVsDbg.sh -v vs2019 -l /root/.vs-debugger/vs2019 -a /remote_debugger Info: Previous installation at '/root/.vs-debugger/vs2019' not found Info: Using vsdbg version '16.9.20122.2' Using arguments Version : 'vs2019' Location : '/root/.vs-debugger/vs2019' SkipDownloads : 'false' LaunchVsDbgAfter : 'false' RemoveExistingOnUpgrade : 'false' Info: Using Runtime ID 'linux-arm' Downloading https://vsdebugger.azureedge.net/vsdbg-16-9-20122-2/vsdbg-linux-arm.tar.gz Info: Successfully installed vsdbg at '/root/.vs-debugger/vs2019'
VS2019的调试效果
内容总结
以上是互联网集市为您收集整理的在Windows上远程调试Ubuntu-Arm上的.Netcore全部内容,希望文章能够帮你解决在Windows上远程调试Ubuntu-Arm上的.Netcore所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。