zoukankan      html  css  js  c++  java
  • 利用 core 文件快速定位“segment fault”的 bug 位置

    为什么要这么做


      最近用递归比较多,虽然写起来舒服,但是 BUG 不好改,出错的一般都是 segment fault (core dump) 。这个错误很难定位是哪错了,但是我发现了一种很好的办法去解决这种问题。

      由于每次发生段错误时,系统会产生 .core 文件记录发生的位置,所以我们在 gdb 调试时候把它带上就知道导致段错误的位置在哪、出错的数据是多少了。

      

    具体步骤


    第一步

      我的是 Ubuntu 系统,不像 Redhat 可以直接产生 core 文件,所以要先输入 ulimit -c unlimited 打开生成 core 文件的选项。举个例子,如下:

     

    第二步

      在编译时加入 -g 选项,这样才能利用gdb进行调试。    

    第三步

      利用 gdb 与 core 文件进行段错误定位

      参考来源:博客

    ————全心全意投入,拒绝画地为牢
  • 相关阅读:
    1050. String Subtraction
    1041. Be Unique
    1033. 旧键盘打字
    1029. 旧键盘
    1080. Graduate Admission
    1083. List Grades
    1075. PAT Judge
    sed指令进阶操作
    Mysql最大连接数
    javascript自写工具方法
  • 原文地址:https://www.cnblogs.com/Bw98blogs/p/8408998.html
Copyright © 2011-2022 走看看