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:$@
# @echo OBJECTS:$^
$(CC) -o $@ $^
clean:
rm -rf $(TARGET) $(OBJS)
%.o:%.c
$(CC) $(CFLAGS) -o $@ -c $<