lookupdns
是 ST 的一个示例程序,由于 ST 是 makefile
的项目,并没有提供 CMake
文件,所以先演示 一下 如何使用 Clion
来调试 Makefile
的项目。
也可以使用 gdb
调试,不过我个人习惯 用 Clion
。
注意,Clion
也只是把众多的 命令工具 集成在一起,即使是 CMake
的项目,CLion
也是把 可执行文件 build
出来,然后调 gdb
来调试,只是 Clion
把这些东西界面化了。所以 举一反三 只要用 Makefile
编译出可执行文件,一样能用 Clion
调 gdb
来可视化调试 。
下面开始操作:
1,推荐使用 Ubuntu 16以上系统,下载好 Clion
,然后下载 state-thread
项目,用 Clion
打开。
2,点击右上角的 Add Configuration
,添加配置。
3,点击 + 按钮,选择 Makefile Target
4,添加两个 make 规则,一个是 make clean
(清除项目),第二个是 make linux-debug
(编译生成可执行文件),如下图:
5,现在就可以 在 Clion 里面 编译 ST 项目了,跟在命令窗口执行 make linux-debug
一样,如下图:
6,现在可以添加 Makefile Application
了,如下图:
上图有一个重点,就是那个 Target ,我原来是没有 Target 的,要点后面那个设置按钮,自己加,如下图:
按上图这样填好 target
就行了,为什么要这样填,我也不知道,按理 Clion 直接调 GDB 调试我 指定的执行文件就行了。不管这个,总之 按我上图这样 填好 target
,他 Clion就不会报错。
7,现在在 lookupdns.c
文件的 main
入口打一个断点,可以看到,现在已经可以调试了。如下图:
state-thread 的 Clion 调试环境 搭建 成功,完毕。
常见问题:
- 有些 CLion 版本没有 Makefile 的插件,要自己装,所以最好使用 2021 版本的 Clion。
由于笔者的水平有限, 加之编写的同时还要参与开发工作,文中难免会出现一些错误或者不准确的地方,恳请读者批评指正。如果读者有任何宝贵意见,可以加我微信 Loken1。QQ:2338195090。