对于一个
c
程序来说,如果出现问题用gdb
调试是最高效的,否则打印log
需要对程序修改很多,不但耗费时间,还会破坏程序原本的完整性。
重要的一步
编译程序时请加入-g
参数以使程序支持gdb
调试
gcc -g test.c
gdb常用操作速查
命令 | 描述 |
---|---|
b linenum 或b xx.c:linenum (b=break) |
在某一行设置断点或者在某个文件的某一行设置断点,命令b位break缩写 |
r (r=run) |
从头开始连续执行程序至首个断点 |
start |
开始执行程序,停在main 函数第一行语句前一行等待输入 |
n (n=next) |
执行下一行语句 |
s (s=step) |
执行下一条语句,如果有函数则跳入函数内执行 |
c (c=continue) |
从当前位置连续执行程序到下一个断点 |
finish |
执行到当前函数返回,等待下一条命令 |
p expr |