首页主机资讯C++代码在Ubuntu上如何进行调试

C++代码在Ubuntu上如何进行调试

时间2025-11-05 18:37:03发布访客分类主机资讯浏览1060
导读:C++代码在Ubuntu上的调试方法 1. 使用GDB(GNU调试器)——命令行调试 GDB是Ubuntu下最常用的命令行调试工具,适合习惯终端操作的用户。 安装GDB:若未安装,通过终端运行sudo apt update &&a...

C++代码在Ubuntu上的调试方法

1. 使用GDB(GNU调试器)——命令行调试

GDB是Ubuntu下最常用的命令行调试工具,适合习惯终端操作的用户。

  • 安装GDB:若未安装,通过终端运行sudo apt update & & sudo apt install gdb安装。
  • 编译带调试信息的代码:使用-g选项编译C++文件,例如g++ -g main.cpp -o my_program-g会将源代码信息嵌入可执行文件,是GDB调试的必要条件)。
  • 启动GDB:在终端输入gdb ./my_program,加载可执行文件。
  • 常用调试命令
    • break < 位置> :设置断点(如break mainmain函数开头断点,break main.cpp:10在第10行断点);
    • run(或r):启动程序,运行至断点处暂停;
    • next(或n):单步执行,不进入函数内部;
    • step(或s):单步执行,进入函数内部;
    • print < 变量名> (或p):打印变量当前值(如print count);
    • backtrace(或bt):查看函数调用栈,定位错误发生的位置;
    • continue(或c):继续执行程序,直到下一个断点或程序结束;
    • quit:退出GDB。

2. 使用Visual Studio Code(VS Code)——图形化调试

VS Code是轻量级编辑器,通过扩展支持C++调试,适合偏好图形界面的用户。

  • 安装准备:从官网下载安装VS Code,打开扩展市场,搜索并安装“C/C++”(Microsoft官方扩展,提供C++语言支持)。
  • 配置调试环境
    • 在项目根目录创建.vscode文件夹;
    • 新建tasks.json文件(用于定义编译任务),内容参考:
      {
      
        "version": "0.2.0",
        "configurations": [
          {
      
            "label": "g++ build active file",
            "type": "shell",
            "command": "g++",
            "args": ["-g", "${
      file}
      ", "-o", "${
      fileDirname}
      /${
      fileBasenameNoExtension}
      "],
            "group": {
      "kind": "build", "isDefault": true}
      ,
            "problemMatcher": ["$gcc"]
          }
      
        ]
      }
      
      
    • 新建launch.json文件(用于配置调试参数),内容参考:
      {
      
        "version": "0.2.0",
        "configurations": [
          {
      
            "name": "g++ build and debug active file",
            "type": "cppdbg",
            "request": "launch",
            "program": "${
      fileDirname}
      /${
      fileBasenameNoExtension}
      ",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${
      workspaceFolder}
      ",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "/usr/bin/gdb",
            "setupCommands": [{
      "description": "Enable pretty-printing", "text": "-enable-pretty-printing", "ignoreFailures": true}
      ],
            "preLaunchTask": "g++ build active file"
          }
      
        ]
      }
          
      
  • 调试操作:打开C++源文件,在代码行号左侧点击设置断点;按下F5键启动调试,程序会在断点处暂停,通过顶部调试工具栏进行单步执行、继续、查看变量等操作。

3. 其他调试工具

  • CLion:JetBrains推出的专业C++ IDE,内置强大的调试功能(如智能断点、变量监视、内存视图),适合大型项目开发。安装后直接导入项目,点击调试按钮即可启动调试。
  • Valgrind:内存调试工具,用于检测内存泄漏、非法访问等问题。安装后运行valgrind --leak-check=full ./my_program,会输出内存错误详情(如未释放的内存块)。
  • strace:系统调用追踪工具,用于分析程序与操作系统的交互(如文件操作、网络请求)。运行strace ./my_program,可查看程序执行过程中的所有系统调用。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: C++代码在Ubuntu上如何进行调试
本文地址: https://pptw.com/jishu/743169.html
在Debian上部署WebLogic需要注意哪些事项 Debian如何实现WebLogic的负载均衡

游客 回复需填写必要信息