janus clion调试以及语法高亮

导读

我们知道clion只能调试CMake的工程,虽然clion也能通过attach进程的方式调试程序,但是这样启动调试很不方便,需要先在shell里面启动进程,然后attach调试,而且如果要调试main函数起始代码,也很困难。所以笔者查看资料找到了clion调试Makefile工程的方法。

上一遍文章《janus mac下编译记录》中我们已经编译出janus可执行程序,这篇文章以janus为例接着讲解怎么用clion调试janus。

1、安装compiledb

在开始之前,我们需要安装一个可以从Makefile生成Compilation DB JSON文件的工具。我们将在本教程中使用的工具是compiledb。它是用Python编写的,所以最简单的方法是使用pip。

$ pip install compiledb

2、生成compile_commands.json

#先cd进入makefile所在目录
$ compiledb -nf make

3、创建CMakeList.txt

#先cd进入makefile所在目录
#然后vi CMakeList.txt并输入以下内容
cmake_minimum_required(VERSION 3.10)
project(janus)

set(CMAKE_CXX_STANDARD 11)
set(BUILD_DIR .)  #设置编译目录,也就是Makefile文件所在目录
message(${BUILD_DIR}) #打印目录路径
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
add_custom_target(janus COMMAND make -C ${BUILD_DIR})#最关键的就是这句, 设置外部编译文件而不是使用CMakeLists.txt

4、通过compile_commands.json打开工程

打开工程

Open as Project

5、添加Debug配置

Add Configuration

选择可执行程序

选择可执行程序2
最终设置界面

6、完成

通过上述各步骤之后,clion已经能识别出makefile工程并且可以直接调试,代码也能高亮并且支持跳转等CMake工程支持的一切特性。
唯一的缺点就是修改代码后,需要重新生成compile_commands.json文件才能更好调试定位代码。

7、关闭工程源码索引失效问题

在关闭clion后,下次再打开工程后,代码索引会失效,代码无法高亮。
通过下面方式可以重新加载索引:


image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。