怎样在Ubuntu里调试C++程序

在Ubuntu里调试C++程序常用工具及方法如下:

1. GDB(命令行调试)

  • 安装sudo apt install gdb
  • 编译:需添加-g选项生成调试信息,如g++ -g program.cpp -o program
  • 常用命令
    • break:设置断点(如break mainbreak file.cpp:10)。
    • run:启动程序。
    • next/step:单步执行(next不进入函数,step进入)。
    • print:查看变量值(如print variable_name)。
    • backtrace:查看调用栈。

2. Visual Studio Code(图形化调试)

  • 安装:从官网下载并安装,添加C/C++扩展
  • 配置
    • 创建.vscode/launch.json,设置调试器为cppdbg,指定可执行文件路径。
    • 创建.vscode/tasks.json,配置编译参数(需包含-g)。
  • 调试:按F5启动调试,支持断点、单步执行、变量查看等。

3. CLion(集成开发环境)

  • 安装:通过JetBrains官网下载,支持一键调试。
  • 使用:打开项目后,直接在代码中设置断点,点击工具栏“小虫子”图标启动调试。

4. 内存检测工具

  • Valgrind:检测内存泄漏,安装后使用valgrind --leak-check=full ./program
  • AddressSanitizer:编译时添加-fsanitize=address选项,快速定位内存错误。

5. 其他工具

  • DDD:图形化界面,适合简单调试。
  • strace:跟踪系统调用,用于分析程序行为。

选择工具时,简单调试可选GDB或VS Code,复杂项目推荐CLion,内存问题优先Valgrind/AddressSanitizer。