用gdb来调试除数为0而产生的core

本文通过一个实例介绍如何利用gdb调试遇到的除数为零导致的core dump问题,强调熟悉gdb调试技巧的重要性。
摘要由CSDN通过智能技术生成

        前面讲了gdb调试core dump的入门, 下面来趁热打铁, 熟练一下。 某次, 在某代码中, 一个除数为零的概率事件, 弄得两个入职不久的同事耗费数天, 为什么搞这儿久呢? 因为不太熟悉gdb调试core.

        看程序和调试过程:

[taoge@localhost test]$ cat main.c -n
     1  #include <stdio.h>
     2
     3  int main()
     4  {
     5          int a = 1;
     6          int b = 0;
     7          int c = a / b;
     8
     9          printf("bad\n");
    10          return 0;
    11  }
    12
[taoge@localhost test]$ gcc -g main.c 
[taoge@localhost test]$ ls
a.out  main.c
[taoge@localhost test]$ ./a.out 
Floating point exception (core dumped)
[taoge@localhost test]$ ls
a.out  core.2441  main.c
[taoge@localhost test]$ 
[taoge@localhost test]$ 
[taoge@localhost test]$ 
[taoge@localhost test]$ gdb a.out core.2441 
GNU gdb (GDB) Red Hat Enterprise Linux (7.1-29.el6)
Copyright (C) 2010 Free Software Foundation, I
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值