在 CentOS 上搭建 C++ 调试环境,通常包括:编译器、调试器、构建工具、编辑器/IDE。下面按“从基础到进阶”给你一套常见且实用的配置方案。
sudo yum install -y gcc gcc-c++
查看版本:
g++ --version
CentOS 7 默认是 gcc 4.8
如需新版本(C++17/20),建议用 devtoolset(见后文)
sudo yum install -y gdb
验证:
gdb --version
sudo yum install -y make cmake
g++ -g -O0 main.cpp -o main
参数说明:
-g:生成调试信息-O0:关闭优化(方便调试)CMakeLists.txt 示例:
cmake_minimum_required(VERSION 3.10)
project(demo)
set(CMAKE_BUILD_TYPE Debug)
add_executable(demo main.cpp)
构建:
mkdir build
cd build
cmake ..
make
gdb ./main
break main # 打断点
run # 运行
next # 单步(不进函数)
step # 单步(进函数)
print x # 打印变量
backtrace # 查看调用栈
continue # 继续执行
quit # 退出
sudo yum install -y centos-release-scl
sudo yum install -y devtoolset-11
启用:
scl enable devtoolset-11 bash
或永久生效:
echo "source /opt/rh/devtoolset-11/enable" >> ~/.bashrc
适合服务器 / 虚拟机开发
launch.json:{
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/build/main",
"miDebuggerPath": "/usr/bin/gdb",
"preLaunchTask": "build"
}
✅ 支持:
sudo yum install -y cgdb
cgdb = GDB + 代码窗口
✅ 确认编译时加了 -g
✅ 使用 -O0
建议:
// main.cpp
#include <iostream>
int main() {
int a = 10;
int b = 20;
std::cout << a + b << std::endl;
return 0;
}
g++ -g -O0 main.cpp -o main
gdb ./main
如果你愿意,可以告诉我:
我可以给你更精准的配置方案。