zoukankan      html  css  js  c++  java
  • gdb与coredump

    一、GDB的使用

    1.gdb的主要功能

    启动被调试程序、指定位置停住程序、程序被停住时,查看程序状态(如变量值)

    2.使用说明

    gcc -g test.c -o test     

    -g使程序可被调试

    gdb test  

    启动gdb

    break main

    第一个休息点:在main函数处设置断点

    run        

    运行程序

    list(l)  

    查看程序代码

      

    break(b)  函数名  

    在某函数入口处添加断点

    break  行号    

    在指定行添加断点 

    break  文件名:行号    

    在指定文件指定行添加断点 

    info   break        

    查看所有设置的断点

    delete  断点编号(info break显示出来的Num)

    删除指定断点

      

    print(p)  变量名  

    查看变量值

    set var(变量名) = value  

    设置变量的值

    next(n)    

    单步运行程序(不进入子函数)

    step(s)      

    单步运行程序(进入子函数)

    continue(c)  

    继续运行程序,直到遇到下一个断点

      

    quit(q)      

    退出gdb

    二、Coredump(核心转存)故障分析

    1.作用

    主要用来对付segment fault(段错误);引起原因:数组访问越界、访问空指针、栈溢出、修改只读内存

    2.linux系统默认是关闭core dump功能的

    打开:ulimit -c unlimited
    关闭:ulimit -c 0

    3.使用步骤

    gcc -g test.c -o test
    gdb ./test test.core

  • 相关阅读:
    Python-24-Django(Model Form、Ajax、上传文件、KindEditor)
    P23-Django-model、Form补充 & 序列化
    P22-Django-Session、CSRF、Form、信号
    21-Python-Django进阶补充篇
    Python-Django进阶
    Python-18-Django 基础篇
    17-前端开发之jQuery
    15-前端开发之JavaScript
    14-前端开发之CSS
    14-前端开发之HTML
  • 原文地址:https://www.cnblogs.com/bettercoder/p/3379080.html
Copyright © 2011-2022 走看看