前言
windows下,我习惯用IDE来开发和调试,比如用vc或者qt,但是现在碰到了需要在linux下开发调试c++的任务,当然用qt也行。不过这次的新任务,是开发一个基于ARM架构的AI识别程序,大家都懂的,不能调试,碰到BUG就很痛苦,因此在完成任务后,特地记录一下这个过程,给自己一个备忘,也给需要的朋友一个参考,有不足之处还请多多指教。
调试环境准备
我选用了vscode作为代码编辑器,因为目的是开发一个后端服务,没有界面;安装了C++开发必备的一些插件,这里首推微软的C/C++ Extension Pack,还有一些其他的,这里就不写了,大家可以网上搜搜好用的,我这里主要是简洁起见;调试器选用的gdb。
好了,基本环境就这些,下面说一下整个结构:
- 在vmware里运行的ubuntu 18.04虚拟机
- 虚拟机安装了从AI盒子厂家下载的docker镜像(此镜像提供了编译AI程序必备的环境,例如交叉编译器以及挂载了瑞芯微的头文件和库文件的目录)
- 源代码(源代码放在docker镜像映射的本地目录下)
- AI盒子
- AI盒子里安装了gdb server
- 虚拟机里安装了gdb-multiarch
开始调试
- 编译DEBUG版程序
注意,一定要编译DEBUG版程序,否则没有调试符号是无法正常调试的。编译好后,将程序发布到AI盒子上