在 CentOS 上调试 C++ 代码,常见做法有以下几种,按使用频率和难度从低到高说明:
sudo yum install -y gdb
g++ -g -O0 main.cpp -o main
-g:生成调试信息-O0:关闭优化,方便调试gdb ./main
run # 运行程序
break main # 在 main 函数下断点
break file.cpp:20 # 在指定文件行号下断点
next # 单步执行(不进入函数)
step # 单步执行(进入函数)
print var # 打印变量
backtrace # 查看调用栈
continue # 继续执行
quit # 退出
sudo yum install -y gdb gcc-c++
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo'
sudo yum install -y code
launch.json{
"version": "0.2.0",
"configurations": [
{
"name": "C++ Debug",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/main",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb"
}
]
}
#include <iostream>
#define LOG(x) std::cout << #x << " = " << x << std::endl;
int main() {
int a = 10;
LOG(a);
}
适合:
sudo yum install -y valgrind
valgrind --leak-check=full ./main
可检测:
ulimit -c unlimited
gdb ./main core
✅ 新手:g++ -g + gdb
✅ 开发:VS Code + GDB
✅ 线上:日志 + core dump
如果你有 具体代码 / 报错信息 / CentOS 版本,我可以直接帮你调。