在Linux中调试C++程序,通常使用GDB(GNU调试器),这是最常用且功能强大的调试工具。以下是使用GDB调试C++程序的基本步骤和一些常用命令:
在编译C++程序时,需要加上 -g
选项以生成调试信息。例如:
g++ -g -o my_program main.cpp
使用以下命令启动GDB并加载程序:
gdb my_program
使用 break
命令在指定位置设置断点。例如,在 main
函数的开始处设置断点:
break main
或者指定行号:
break 4
使用 run
命令开始程序执行,程序会在断点处暂停:
run
step
(s
):进入函数调用并逐行执行。next
(n
):执行下一行代码但不进入函数内部。使用 print
命令查看变量的当前值:
print variable_name
使用 backtrace
命令查看当前执行线程的调用堆栈:
backtrace
使用 continue
命令继续执行程序,直到遇到下一个断点或程序结束:
continue
使用 quit
命令退出GDB:
quit
info threads
:显示当前程序的所有线程。thread thread_number
:切换到指定线程。bt
:打印当前函数的堆栈跟踪。info frame frame_number
:打印指定栈帧的信息。watch variable_name
:在变量值改变时停下来。除了GDB,还有其他一些调试工具可供选择,例如:
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读:C++在Linux下如何调试程序