近期因为项目需要,考虑使用SRS作为流媒体服务器实现GB28181的流媒体平台,根据官方视频介绍,使用GDB调试,使用Idea阅读代码,感觉用起来还是有点麻烦。本人之前使用过JetBrains家族的多个IDE,所以尝试使用CLion来导入make项目(SRS为make项目)进行开发调试,效果非常不错,本文介绍一下使用步骤。
操作系统:CentOS 7.9.2009 Desktop
1.准备
C++工具的安装不在本文做介绍,只介绍使用CLion导入make项目需要用到的额外依赖。
1.1.安装CLion
下载CLion 2020.3.1(本人这次使用的版本),解压到合适目录中。
1.2.安装compiledb
yum install python
yum install python-pip
pip install compiledb
2.导入SRS进行调试
2.1.下载SRS源码并做导入预准备
cd ~
mkdir git
cd git
git clone https://github.com/ossrs/srs.git
cd srs/trunk
git branch -a #显示当前可用分支
git checkout 4.0release #切换到4.0release分支
./configure --with-gb28181 #根据我的需要,支持gb28181
make -j6
#在shell中,Makefile所在目录中执行一下命令,由makefile生成compile_commands.json
compiledb -nf make
2.2.用CLion导入make项目
如果之前有用Idea或CLion打开过项目,删除.idea目录
rm -rf .idea
2.2.1启动CLion
cd <clion_path>
bin/clion.sh
2.2.2导入项目
2.2.2编译报错处理
此时编译有一个报错,这是因为该make项目中没有默认的make all的target,删除默认编译工程中的all target
重新编译工程,成功!
2.2.3设置运行参数
2.2.4.断点调试
成功断点处的调试窗口:
以上CLion调试相比较与用gdb调试,具有非常大的便利性,希望对不了解该工具的朋友有所帮助。