gdb笔记

来源:互联网 发布:cf帐号登录数据异常 编辑:程序博客网 时间:2024/06/08 11:22
$ gcc -g -o test test.c        --加-g选项查看调试信息 $ gdb ./test
(gdb) l                    --用l(list)显示我们的源代码
1 #include <stdio.h>
2
3 int main()
4 {
5 int i=0;
6
7 scanf("%d",i);
8 printf("i=%d\n");
9 return 0;
10 }
(gdb) b 7              --用b(break)设置断点
Breakpoint 1 at 0x400543: file test1.c, line 7.
(gdb) r                  --用r(run)运行,直到断点处
Starting program: /home/etk/cpp/test1
Breakpoint 1, main () at test1.c:7
7 scanf("%d",i);
Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.80.el6_3.5.x86_64
(gdb) p i               --用p(print)打印变量i的值[看到没,这里i的值是0哦      
$1 = 0
(gdb) n                 --用n(next)执行下一步
1
Program received signal SIGSEGV, Segmentation fault.
0x004e3d45 in _IO_vfscanf_internal (s=0x31,
    format=0xffffffff <Address 0xffffffff out of bounds>, argptr=0x0,
    errp=0xb) at vfscanf.c:1772
1772 *ARG (unsigned int *) = (unsigned int) num.ul;
(gdb) c                 --用c(continue)继续执行
Program terminated with signal SIGSEGV, Segmentation fault.
The program no longer exists.
(gdb) q                --退出gdb 

0 0
原创粉丝点击