编译

gcc Hello.cpp 生成可执行文件a.out

gcc -o Hello.o Hello.cpp 生成可执行文件Hello.o

gcc -g -o Hello.o Hello.cpp 生成可调试的可执行文件Hello.o

调试

gdb Hello.o

常用GDB命令

break :新增断点。后接一个参数,表示在指定位置增加断点,参数格式为:[源文件名:]<方法名> | [源文件名:]<行数>

delete:删除断点。后接零个参数,表示删除所有断点。后接一个参数,表示删除指定序号的断点,参数格式为:<序号>

step:往下执行语句,会进入函数。后接零个参数,表示往下执行一条语句。后接一个参数,表示往下执行指定数目的多条语句,参数格式为:<向下行数>

next:往下执行语句,不会进入函数。参数规范与step类似

continue:继续运行

finish:运行至当前函数返回后退出

list:查看代码

frame:查看帧栈

backstrace:查看整个调用栈

info :查看信息。后接一个参数,参数格式为:<args | locals>,args表示查看函数参数,locals表示查看局部变量

print:打印值。