Anl*_*nlo 31 mono remote-debugging visual-studio raspberry-pi raspbian
我想从Visual Studio远程调试在Linux上运行的C#控制台应用程序.这是我到目前为止发现的:
http://www.mono-project.com/Debugger
Mono运行时实现了一个调试接口,允许调试器和IDE调试托管代码.这称为软调试器,MonoDevelop,Xamarin Studio和Visual Studio(安装适当的插件时)以及命令行SDB客户端都支持它.
Mono提供了一个API来与调试器通信,并通过Mono.Debugger.Soft.dll程序集创建自己的调试UI.
下面的页面讨论了当前MonoVS调试器实现的一些问题,但它们对我来说都很好.
http://mono-project.com/Visual_Studio_Integration
该页面还链接到MonoVS的入门指南:
http://mono-project.com/GettingStartedWithMonoVS
其中包含MonoTools的下载链接:
http://mono-tools.com/download/
但是,下载链接现在重定向到:
在哪里我可以下载Xamarin Studio Starter Edition.单击"定价"链接,我发现至少需要Visual Studio支持的商业版,每年999美元.好吧,不,谢谢.
这就是我被困住的地方.我的环境的一些细节:
开发环境:
目标环境:
Gut*_*iro 17
我知道这是一个旧线程,但万一有人(像我一样)还没有找到解决方案,今天搜索时,我发现这个Visual Studio 2015扩展程序就像一个魅力:MonoRemoteDebugger for Visual Studio 2015
请参阅MonoRemoteDebugger v1.0.4以修复VS2015 update2上与Xamarin VS扩展的冲突.
我希望它有所帮助.
有一个愉快的调试,并感谢开发人员!:)
我终于找到了一种对Raspberry Pi上运行的 C# 代码进行远程调试的好方法。我已从Mono切换到 .NET Core,现在可以使用 Visual Studio 调试在 Raspberry Pi 上运行的代码,几乎与在我的开发计算机上运行时一样简单。
\n以下步骤使用 Windows 10 版本 1909、Visual Studio 2019 版本 16.4.3、Raspbian Buster Lite 版本 2020-02-13 和 Raspberry Pi 2 Model B 进行测试。.NET Core 需要 ARMv7 CPU,因此无法运行树莓派 1 和零。
\n转到https://dotnet.microsoft.com/download/dotnet-core并选择 .NET Core 3.1(或更高版本)。单击 Linux ARM32 运行时二进制文件的链接,然后复制下一页上显示的直接链接。(请勿右键单击 ARM32 链接并选择复制链接地址,因为如果下载该链接,您最终会得到一个网页。)
\n\n打开与 Raspberry Pi 的 SSH 会话,下载并安装二进制文件:
\nssh pi@192.168.0.xxx\nwget https://download.visualstudio.microsoft.com/download/pr/c11e9248-404f-4e5b-bd99-175079419d6f/83902a43e06f9fb4e45a4c6a6d5afc0b/dotnet-runtime-3.1.3-linux-arm.tar.gz\nsudo mkdir /opt/dotnet\nsudo tar zxf dotnet-runtime-3.1.3-linux-arm.tar.gz -C /opt/dotnet\nsudo ln -s /opt/dotnet/dotnet /usr/bin/dotnet\n
Run Code Online (Sandbox Code Playgroud)\n添加以下行~/.bashrc
,注销并再次登录即可激活:
export DOTNET_ROOT=/opt/dotnet\n
Run Code Online (Sandbox Code Playgroud)\n检查.NET Core是否已正确安装:
\ndotnet --info\n
Run Code Online (Sandbox Code Playgroud)\n\n在 Visual Studio 中创建 *.NET Core 控制台应用程序```lang-none。设置目标框架 = .NET Core 3.1(或您下载到 Raspberry Pi 的版本)。确保项目 \xe2\x86\x92 属性 \xe2\x86\x92 生成 \xe2\x86\x92 输出 \xe2\x86\x92 高级 \xe2\x86\x92 调试信息 = 可移植。
\n\n在 Visual Studio 中构建项目,并将所有 *.dll、*.pdb、*.deps.json 和 *.runtimeconfig.json 文件从开发计算机复制到 Pi。可以使用PuTTY 的 pscp 命令:
\ncd bin\\Debug\\netcoreapp3.1\npscp -pw <password> *.dll *.pdb *.deps.json *.runtimeconfig.json pi@192.168.0.xxx:/home/pi\n
Run Code Online (Sandbox Code Playgroud)\n打开与 Raspberry Pi 的 SSH 会话并运行程序,或者使用SSH从开发计算机启动它:
\nssh pi@192.168.0.xxx dotnet /home/pi/MyProgram.dll\n
Run Code Online (Sandbox Code Playgroud)\n通过在 Visual Studio 中选择“调试 \xe2\x86\x92 附加到进程”菜单项来附加到远程进程。选择“连接类型= SSH”,然后在“连接目标”文本框中输入pi@192.168.0.xxx,然后按Enter。
\n\n输入密码并单击Connect按钮。
\n\n单击Select按钮。
\n\n选择托管(.NET Core for Unix)并单击OK按钮。
\n\n选择dotnet MyProgram.dll
进程并单击按钮Attach。第一次连接可能需要几分钟,但后续连接速度要快得多。
享受设置断点、添加监视、单步调试代码甚至使用“设置下一条语句”的乐趣 - 几乎与在本地计算机上调试时一样快。到目前为止我唯一缺少的是Edit and Continue,但不足以调查是否可以实现。
\n 归档时间: |
|
查看次数: |
15493 次 |
最近记录: |