温馨提示×

C++程序在Ubuntu上如何调试

小樊
121
2025-04-02 09:06:22
栏目: 编程语言

在Ubuntu上调试C++程序,你可以使用多种工具和方法。以下是使用Visual Studio Code(VS Code)进行调试的详细步骤:

准备工作

  1. 安装编译器和调试器
  • 打开终端并输入以下命令来安装GCC、G++和GDB:
sudo apt update
sudo apt install build-essential
sudo apt install gdb
  1. 安装Visual Studio Code
  • 你可以从Visual Studio Code的官方网站下载并安装适用于Ubuntu的安装包。
  1. 安装C/C++扩展
  • 打开VS Code,点击左侧的扩展图标,搜索并安装"C/C++"扩展。

配置VS Code进行调试

  1. 创建一个新的C++项目
  • 在VS Code中创建一个新的文件夹作为项目目录,并在其中创建你的C++源代码文件(例如main.cpp)。
  1. 配置tasks.json文件
  • 打开终端(在VS Code中按Ctrl + 打开集成终端)。
  • 输入以下命令来创建tasks.json文件,该文件用于配置编译任务:
{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",
            "type": "shell",
            "command": "g++",
            "args": [
                "-g",
                "-O0",
                "${file}",
                "-std=c++11",
                "-D_GLIBCXX_DEBUG",
                "-o",
                "${fileBasenameNoExtension}"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ]
}
  1. 配置launch.json文件
  • 在VS Code中,点击左侧的调试图标,然后点击“添加配置”按钮。
  • 选择“C++ (GDB/LLDB)”并点击“创建launch.json文件”。
  • 修改launch.json文件,使其包含以下内容:
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/${fileBasenameNoExtension}",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "preLaunchTask": "build",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}
  1. 编译和调试代码
  • 在VS Code中,打开终端(按Ctrl + ),然后输入以下命令来编译你的代码:
g++ -g main.cpp -o main
  • 编译成功后,在VS Code中按F5或点击调试按钮来启动调试会话。

使用GDB进行调试

如果你更喜欢使用命令行工具GDB,可以按照以下步骤进行调试:

  1. 编译程序时包含调试信息
g++ -g your_file.cpp -o your_executable
  1. 启动GDB
gdb your_executable
  1. 设置断点
break function_name
  1. 运行程序
run
  1. 调试命令
  • listl:显示源代码。
  • breakb:设置断点。
  • runr:启动程序。
  • nextn:执行下一行代码,但不进入函数。
  • steps:执行下一行代码,如果是函数调用,则进入函数。
  • continuec:从当前位置继续执行程序,直到遇到下一个断点。
  • finish:执行完当前函数并返回到调用者。
  • printp:打印变量的值。
  • backtracebt:显示当前调用堆栈。
  • framef:选择堆栈帧。
  • watch:监视表达式的值。

通过以上步骤,你可以在Ubuntu上使用VS Code或GDB调试C++程序。选择适合你的方法,并根据需要进行调整和扩展。

0