最近要调试自己的程序,就把以前自己记录下来的一些基本的gdb调试命令给发不出来。
例子:如果有一个test.c文件,那么当出现运行错误,怎么去调试呢。
gcc test.c -o test
这里只是生成了test可执行文件./test运行出现错误,或者得不到结果和你预测的是一样,那么都要进去跟踪调试。
这里就要用到了gdb,这个调试工具。gdb 调试 需要在编译时加入条件 -g
调试的几个基本的命令如下:
gdb -q filename //加载文件到gdb
break [1 行号,2函数名,3行号+条件] //设置断点,通过行号或者函数名进行设置,如break 10;如break myfun
clear/delete //清除断点
watch //查看变量
info breakpoints //显示当前设置的所有断点的信息
print/set 都能对变量赋值,
并且print能输出表达式或变量
disable/enable可对断点是否有效进行设置 n
ext/step next遇到函数会将其当作一条语句,而step会进入函数内部
nexti/stepi 用来单步执行一条机器指令
run //开始调试跟踪
continue