Gdb命令行式调试
Window下,我们使用编译器进行代码的调试,那么在linux中,我们也有对应的编译器,那便是gdb,下面便是gdb的一些基本命令
首先,gdb的主要功能是监控程序的执行流程,只有当代码成为可执行程序时才能被gdb进行调试。
因此,我们在编译时要使用gcc/g++ -g 选择编译源文件,才能生成满足gdb要求的可执行文件。
调试命令(缩写) | 作用 |
(gdb) l 0 | 从头开始显示代码 |
(gdb) b 行数 | 在第几行打断点 |
(gdb) r | 开始调试,如未设置断点,就直接运行结束 |
(gdb) info b | 查看断点 |
(gdb) d +编号 | 删除该编号的断点 |
(gdb) n | 逐过程(相当于f10) |
(gdb) p 变量名 | 打印变量内容 |
(gdb) s | 逐语句(相当于f11) |
(gdb) bt | 查看当前调用堆栈 |
(gdb) finish | 将当前函数跑完后停下来 |
(gdb) display 某值/语句 | 常显示某个值或语句 |
(gdb) undisplay 编号 | 取消对某个值或语句的常显示 |
(gdb) until 行数 | 跳转到指定行 |
(gdb) c | 运行至下一个断点停止 |
(gdb) disable/enable 断点编号 | 打开和关闭断点 |