ubuntu下使用vscode编译调试yolov3

前提

要使用gpu和cudnn必须安装好驱动,cuda,cudnn,要在图像上显示检测框需要安装好opencv(?我也不知道是不是一定要opencv才能显示检测框)

准备工作

下载vscode 

安装

sudo dpkg -i code*.deb

下载darknet

git clone https://github.com/pjreddie/darknet
cd darknet
wget https://pjreddie.com/media/files/yolov3.weights

配置vscode

打开安装好的vscode并安装扩展C/C++(ms-vscode.cpptools)

在开始处打开文件夹打开darknet文件夹,如下图所示:

这时候可能会有找不到darknet.h的问题,因为darknet.h文件在include的文件夹中,而vscode默认从系统和${workspaceFolder}(当前打开的文件夹,即darknet目录)下找头文件,所以我们要将工作区的include文件夹加入到配置文件中去。vscode下的C或C++项目的配置文件是c_cpp_properties.json,用快捷键ctrl+shift+p调出vscode命令搜索框,搜索Edit Configurations并点击就会跳转到c_cpp_properties.json文件的编辑界面,将include加入到includePath即可:


编译

在vscode下编译可由task.json来定义,但darknet下已有Makefile文件,可以不用自己写task.json。但如果想以调试的模式运行的话需要将Makefile中的CC=gcc改为CC=gcc -g来编译出可以gdb调试的可执行文件。

vscode功能强大,可以直接在vscode界面内使用终端。在编译之前根据电脑的环境选择是否使用cuda,cudnn,opencv等选项修改Makefile,使用快捷键ctrl+`调出vscode的终端,在darknet目录下make。编译完成后在darknet文件夹下可以看到名为darknet的可执行文件。

调试

要启动调试,vscode需要知道编译的可调式的可执行文件的目录,以及带进去的参数,这些内容需要配置到launch.json中。按F5启动调试,选择GDB环境,编辑launch.json如下所示:

主要修改program和args,具体参数请根据自己具体的情况配置,我这上面的1.mkv是自己跑的视频(傲骨贤妻第一季第一集)

测试

在darknet.c里面设置了断点并启动调试,可以看到变量,调用堆栈等信息,至此调试成功。最后一张跑的视频的图:


第一篇博客。。。希望能产生点小小的帮助!

猜你喜欢

转载自blog.csdn.net/xxmhnu/article/details/80280006