<VS2019>记VS远程连接调试linux (openwrt) (树莓派4B)遇到的各种问题
2021/9/2 7:07:45
本文主要是介绍<VS2019>记VS远程连接调试linux (openwrt) (树莓派4B)遇到的各种问题,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
0.吐槽
由于用惯了win上面的VS,linux的vim和gdb实在感觉不快乐,于是打算VS远程调试去连接openwrt(树莓派4B)。
不知道是openwrt还是我的问题,遇到的问题相比装debian时多了很多,这里列举一些主要的问题。
不过也算是学到了挺多东西吧,把坑都踩一遍能强一点吧,自我安慰ing......
1.问题汇总
1-1.Q:***主机上的缺少工具:gcc,gdb,gdbsevice,zip?
A:就是你的linux里没有安装上述程序,得去安装。
问题主要在zip这个程序,在openwrt的web管理里搜索后居然没有zip程序,最后我是去到中科大软件源里
http://mirrors.ustc.edu.cn/openwrt/releases/18.06.6/packages/aarch64_cortex-a72/packages/
手动找到zip.ipk然后上传到openwrt里的 /tmp目录安装的(opkg install /tmp/zip.ipk)。
如果你也遇到此问题,需要到链接里回退找对应的openwrt版本(18.06.6)和对应的cpu类型(aarch64_cortex-a72)的zip.ipk包。
本来是把这个连接放到openwrt的自定义软件源里,但在web里搜索还是没有zip包,就像被过滤了一样暂不知道原因。
1-2.Q:VS里满屏的报错?头文件全都提示无法找到源文件?
A:百度上很多方法试过后对我没用,在目录里
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\VC\Linux\include
是有linux的各种头文件的,但Vs就是报错了,最后发现是Vs并没有真正复制树莓派的头文件到win里
上面目录里的文件似乎是下载Vs时带的。
解决方法:在 调试 -> 选项 -> 跨平台 -> 链接管理器 -> 远程标头IntelliSense
此时窗口右方第三个按钮 " 浏览 "
就会进入文件管理里,此时如果你点进usr里会发现里面是没有头文件的,这就是VS满屏波浪线的原因。
因此我们只要把linux里的头文件(usr/include以及usr/local/include)的头文件复制进usr就可以了,lib文件同理。
后面的目录可能不存在,我的openwrt就没有,没有关系的。
复制进去后重新打开VS项目就可以了。
1-3.Q:运行就VS卡死,打断点也卡死?
VS报错:引发类型"Microsoft.Build.Linux.Shared.ExceptionTTY"的异常
A:这个问题在百度上有人提到是终端有VS无法识别的符号引发了错误。
但他的解决方法我不适用:把linux的用户目录里的隐藏文件.bashrc直接删除。
我的默认sh是zsh,把.zshrc删了并不能解决问题,并且出现更多问题了。而且删这个感觉好危险......
最后我的解决方法:
在 调试 -> **调试属性(最后一个选项,例如我的项目名是Project1,则为 Project1调试属性)
在左边点 配置属性 -> 调试
此时右边里面的调试模式改为 gdbservic 试试看,如果你默认是 gdbservice 就改为 gdb 试试。
这篇关于<VS2019>记VS远程连接调试linux (openwrt) (树莓派4B)遇到的各种问题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-12如何创建可引导的 ESXi USB 安装介质 (macOS, Linux, Windows)
- 2024-11-08linux的 vi编辑器中搜索关键字有哪些常用的命令和技巧?-icode9专业技术文章分享
- 2024-11-08在 Linux 的 vi 或 vim 编辑器中什么命令可以直接跳到文件的结尾?-icode9专业技术文章分享
- 2024-10-22原生鸿蒙操作系统HarmonyOS NEXT(HarmonyOS 5)正式发布
- 2024-10-18操作系统入门教程:新手必看的基本操作指南
- 2024-10-18初学者必看:操作系统入门全攻略
- 2024-10-17操作系统入门教程:轻松掌握操作系统基础知识
- 2024-09-11Linux部署Scrapy学习:入门级指南
- 2024-09-11Linux部署Scrapy:入门级指南
- 2024-08-21【Linux】分区向左扩容的方法