温馨提示×

centos怎么调试c++代码

小樊
49
2026-09-21 07:16:42
栏目: 编程语言

在 CentOS 上调试 C++ 代码,常见做法有以下几种,按使用频率和难度从低到高说明:


一、使用 GDB 调试(最常用)

1. 安装 GDB

sudo yum install -y gdb

2. 编译时加上调试信息

g++ -g -O0 main.cpp -o main
  • -g:生成调试信息
  • -O0:关闭优化,方便调试

3. 启动 GDB

gdb ./main

4. 常用 GDB 命令

run                 # 运行程序
break main         # 在 main 函数下断点
break file.cpp:20  # 在指定文件行号下断点
next               # 单步执行(不进入函数)
step               # 单步执行(进入函数)
print var          # 打印变量
backtrace          # 查看调用栈
continue           # 继续执行
quit               # 退出

二、使用 Visual Studio Code + GDB(推荐)

1. 安装依赖

sudo yum install -y gdb gcc-c++

2. 安装 VS Code

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

3. 安装插件

  • C/C++
  • C++ IntelliSense

4. 配置 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);
}

适合:

  • 服务器环境
  • 无法交互调试时

四、使用 Valgrind(内存问题)

安装

sudo yum install -y valgrind

使用

valgrind --leak-check=full ./main

可检测:

  • 内存泄漏
  • 非法访问

五、Core Dump 调试(程序崩溃)

开启 core dump

ulimit -c unlimited

程序崩溃后

gdb ./main core

推荐组合

✅ 新手:g++ -g + gdb
✅ 开发:VS Code + GDB
✅ 线上:日志 + core dump

如果你有 具体代码 / 报错信息 / CentOS 版本,我可以直接帮你调。

0 踩