谷歌浏览器官方正版下载,深圳网站建设优化排名,linux版本的wordpress,制作小程序的步骤一、gdb简介
GDB,是The GNU Project Debugger 的缩写#xff0c;是 Linux 下功能全面的调试工具。 GDB支持断点、单步执行、打印变量、观察变量、查看寄存器、查看堆栈等调试手段。
程序的发布方式有两种#xff0c;debug模式和release模式 Linux gcc/g出来的二进制程序是 Linux 下功能全面的调试工具。 GDB支持断点、单步执行、打印变量、观察变量、查看寄存器、查看堆栈等调试手段。
程序的发布方式有两种debug模式和release模式 Linux gcc/g出来的二进制程序默认是release模式 要使用gdb调试必须在源代码生成二进制程序的时候, 加上 -g 选项
二、gdb基础命令操作
1、进入gdb gdb 可执行程序名
2、退出gdb:ctrl d 或 quit 调试命令
3、显示代码l 输入list可显示代码简写为l不会一次显示全部代码。 由于gdb会记录历史命令即最近一条命令如果命令无变化可以回车继续执行该命令。
4、开始调试r
r 开始调试若没有断点则直接结束 5、打断点b 行号 6、显示断点信息info b 7、删断点d 编号
由于打断点时系统会给断点编号删除时用不得行号可用编号进行删除。 8、逐过程n
(gdb) n
7 for(i 0;i 100;i)
(gdb) n
9 resi;9、逐语句s
(gdb) s
7 for(i 0;i 100;i)10、直接跑完当前函数并停下finish
(gdb) finish
Run till exit from #0 AddToTop (top100) at mytest.c:7
0x0000000000400579 in main () at mytest.c:18
18 int result AddToTop(top);
Value returned is $1 5050
(gdb) bt
#0 0x0000000000400579 in main () at mytest.c:1811、进入堆栈bt
(gdb) bt
#0 AddToTop (top100) at mytest.c:7
#1 0x0000000000400579 in main () at mytest.c:1812、常显示dispaly 变量名
(gdb) display res
1: res 0
(gdb) n
7 for(i 0;i 100;i)
1: res 0
(gdb) n
9 resi;
1: res 0
(gdb) n
7 for(i 0;i 100;i)
1: res 0
(gdb) n
9 resi;
1: res 0
(gdb) n
7 for(i 0;i 100;i)
1: res 1
(gdb) n
9 resi;
1: res 113、取消常显示undisplay 编号
(gdb) undisplay 1
(gdb) n
7 for(i 0;i 100;i)14、跳转到指定行until 指定行
(gdb) until 18
0x0000000000400579 in main () at mytest.c:18
18 int result AddToTop(top);15、运行至下一个断点处停下:c
(gdb) c
Continuing.
result:5050
[Inferior 1 (process 18009) exited normally]
16、禁用断点disable 编号
(gdb) disable 1
(gdb) info b
Num Type Disp Enb Address What
1 breakpoint keep n 0x000000000040053b in AddToTop at mytest.c:6breakpoint already hit 1 time注意看断点1的End变成了n表示被禁用
17、取消禁用enable 编号
(gdb) enable 1
(gdb) info b
Num Type Disp Enb Address What
1 breakpoint keep y 0x000000000040053b in AddToTop at mytest.c:6breakpoint already hit 1 time