在编译的时候最好添加 -g 编译选项,以便生成带有编译信息的可执行程序,以便在调试时更加轻松地跟踪调试代码。
g++ -g main.cpp -o main
如果是 cmakelist,可以是下面这样的:
cmake_minimum_required(VERSION 3.0)
project(my_project)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
add_executable(main main.cpp)
set(CMAKE_BUILD_TYPE Debug)
或者在 vim 中可以使用 .tasks 来进行 debug 配置
[+]
build_type=Debug
cmake_minimum_required(VERSION 3.0)
project(my_project)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
add_executable(main main.cpp)
原理:
vim 的快捷键 F5快捷cmake编译执行,会默认优先使用 ~/.vim/tasks.ini 中的配置信息。如果不在当前工程目录配置 .task.ini 的话,那就默认就使用系统配置了 (就是 ~/.vim/tasks.ini)。然后这里咱们实际在工程中是配置了 .tasks.ini 了的,所以在加载完系统配置后,还会再加载工程里的 .tasks.ini,又因为工程里的 .tasks.ini 中配置了 build_type=Debug
,所以就相当于配置了 debug 模式了。
其实相当于:
cmake 巴拉巴拉 -DCMAKE_BUILD_TYPE=Debug 巴拉巴拉