以下是Linux下C++调试的实用方法及工具:
-g选项生成调试信息,启动GDB后设置断点(break)、单步执行(next/step)、查看变量(print)等。break if)、观察点(watch)、多线程调试(info threads)、反汇编(layout asm)等。breakpoint set(设置断点)、run(运行)、frame variable(查看变量)、thread backtrace(查看调用栈)。launch.json配置GDB/LLDB,支持断点、变量监视、实时调试。-g选项。valgrind --leak-check=full ./program。-fsanitize=address。#ifdef DEBUG宏控制调试输出,避免冗余日志。ulimit -c unlimited生成core文件,用GDB分析崩溃原因。info threads(查看线程)、thread <id>(切换线程)。| 工具 | 适用场景 | 优势 |
|---|---|---|
| GDB | 复杂C++项目、底层调试 | 功能全面,支持汇编级调试 |
| LLDB | 现代C++、LLVM生态项目 | 语法简洁,脚本支持强大 |
| Valgrind | 内存问题排查 | 免费、检测全面 |
| VS Code | 快速迭代开发 | 集成度高,调试体验流畅 |
根据项目需求选择合适工具,GDB/LLDB适合深度调试,Valgrind用于内存问题,VS Code提升开发效率。