gdb | gdb调试的一些注意事项

在编译的时候最好添加 -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)

原理:

gdb | gdb调试的一些注意事项_第1张图片

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 巴拉巴拉

你可能感兴趣的:(踩坑记录,gdb,调试,C++,注意事项)