Mac Clion 2019.01使用Makefile单步调试
安装Clion
略
使用Clion单步调试
安装MakeFile插件
在File>>setting>>plugins>>makefile support>>install安装
,如下图所示:
编译调试
安装完插件后,编写好Makefile文件,选中Makefile文件右键,选中run Makefile,如下图:
后面那个3只是我运行了几次Makefile系统自动生成的,不需要理睬。正常情况窗口会输出编译信息的。
选中菜单,Run >> Debug,然后选择configuration
添加CMakeLists文件
cmake_minimum_required(VERSION 3.12)
project(test)
set(CMAKE_CXX_STANDARD 11)
set(BUILD_DIR ${PROJECT_SOURCE_DIR}) #设置编译目录,也就是Makefile文件所在目录
message(${BUILD_DIR}) #打印目录路径
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
add_custom_target(test COMMAND make -C ${BUILD_DIR}) #最关键的就是这句, 设置外部编译文件而不是使用CMakeLists.txt
最后打断点即可调试了。
测试Demo附录
### test.c
#include <stdio.h>
int main(void)
{
int a = 3;
int b = 2;
printf("a=%d\n", a);
printf("b=%d\n", b);
printf("a+b=%d\n", add(a,b));
printf("a-b=%d\n", sub(a,b));
return 0;
}
### test-add.c
int add(int a, int b)
{
return a+b;
}
### test-sub.c
int sub(int a, int b)
{
return a-b;
}
### Makefile
# 指令编译器和选项,-g一定需要加上,否则无法调试
CC=gcc
CFLAGS=-Wall -std=gnu99 -g
# 目标文件
TARGET=test
# 源文件
SRCS=test.c test-add.c test-sub.c
OBJS = $(SRCS:.c=.o)
$(TARGET):$(OBJS)
# @echo TARGET:[email protected]
# @echo OBJECTS:$^
$(CC) -o [email protected] $^
clean:
rm -rf $(TARGET) $(OBJS)
%.o:%.c
$(CC) $(CFLAGS) -o [email protected] -c $<