首先确保系统包是最新的,避免因旧版本依赖导致安装或运行问题:

sudo yum update -yC++程序的编译和调试需要GCC编译器、G++(C++编译器)和Make工具。通过Development Tools组可一键安装这些工具:
sudo yum groupinstall -y "Development Tools"或单独安装:
sudo yum install -y gcc gcc-c++ make安装完成后,验证版本:
gcc --version# 查看GCC版本g++ --version# 查看G++版本make --version # 查看Make版本GDB(GNU调试器)是Linux下最常用的C++命令行调试工具,通过以下命令安装:
sudo yum install -y gdb安装完成后,验证GDB版本:
gdb --version调试C++程序时,必须在编译时添加-g选项,该选项会将源代码、变量名、行号等信息嵌入可执行文件,使GDB能关联源代码进行调试。示例:创建一个hello.cpp文件,内容如下:
#include <iostream>int main() {int a = 10;int b = 20;int sum = a + b;std::cout << "Sum: " << sum << std::endl;return 0;}编译时添加-g选项:
g++ -g -o hello hello.cpp-o hello指定输出文件名为hello,-g生成调试信息。
启动GDB并加载可执行文件:
gdb ./hello进入GDB交互界面后,常用命令如下:
main函数开头):(gdb) break main或简写:(gdb) b main(gdb) run或简写:(gdb) rnext(或n):执行下一行代码,不进入函数内部;step(或s):执行下一行代码,进入函数内部(如调用std::cout时会进入其实现)。a、sum):(gdb) print a或简写:(gdb) p amain到std::cout的调用过程):(gdb) backtrace或简写:(gdb) bt(gdb) continue或简写:(gdb) c(gdb) quitsudo yum install -y valgrindvalgrind --leak-check=full ./hello--leak-check=full会详细显示内存泄漏的位置和大小。devtoolset安装。例如安装devtoolset-9:sudo yum install -y centos-release-sclsudo yum install -y devtoolset-9-gcc*scl enable devtoolset-9 bash# 激活新版本GCCgcc --version# 验证GCC版本若使用Visual Studio Code(VSCode),可通过以下步骤配置图形化调试:
.vscode/launch.json文件,内容如下:{"version": "0.2.0","configurations": [{"name": "C++ Debug","type": "cppdbg","request": "launch","program": "${workspaceFolder}/hello",// 可执行文件路径"args": [],// 命令行参数"stopAtEntry": false,"cwd": "${workspaceFolder}", // 工作目录"environment": [],"externalConsole": false,"MIMode": "gdb","miDebuggerPath": "/usr/bin/gdb",// GDB路径"setupCommands": [{"description": "Enable pretty-printing for gdb","text": "-enable-pretty-printing","ignoreFailures": true}]}]}-g选项,按F5启动调试,即可通过VSCode界面设置断点、查看变量等。通过以上步骤,你可在CentOS上完成C++调试工具的基础配置,并使用GDB进行命令行调试。如需更便捷的图形化调试,可选择VSCode等IDE配合使用。