在Ubuntu上使用GDB(GNU调试器)调试C++程序是一个相对直接的过程。以下是一些基本步骤来帮助你开始使用GDB:
编译程序:
在使用GDB之前,你需要确保你的C++程序已经编译并生成了可执行文件。使用-g
选项来编译你的程序,这样GDB才能获取调试信息。
g++ -g -o myprogram myprogram.cpp
这里myprogram
是你的程序名,myprogram.cpp
是你的源代码文件。
启动GDB:
使用GDB启动你的程序,只需在终端中输入gdb
后跟你的可执行文件名。
gdb myprogram
设置断点:
在GDB中,你可以使用break
命令来设置断点。例如,如果你想在名为main
的函数开始处设置断点,可以使用:
break main
你也可以在特定的行号设置断点:
break myprogram.cpp:42
运行程序:
使用run
命令开始执行程序。如果设置了断点,程序将在断点处停止。
run
检查变量:
当程序在断点处停止时,你可以使用print
命令来检查变量的值。
print variable_name
单步执行:
使用step
命令单步执行程序。如果你想进入函数内部,使用step
;如果你想在当前函数内部逐行执行,不进入函数调用,使用next
。
step
next
继续执行:
使用continue
命令让程序继续执行直到下一个断点或者程序结束。
continue
查看调用栈:
使用backtrace
命令(或者简写为bt
)来查看当前的调用栈。
backtrace
退出GDB:
使用quit
命令退出GDB。
quit
这些是GDB的一些基本命令。GDB是一个非常强大的工具,有许多其他命令和选项可以帮助你更深入地调试程序。为了更全面地了解GDB,你可以查看GDB的手册页(通过运行man gdb
)或者阅读在线文档。