• 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

  • 相关阅读:
    快速掌握一个语言最常用的50%[转]
    技术路线的选择重要但不具有决定性 [转]
    图形、图像国外期刊 [转]
    SessionHelper.cs(20170223)
    PageHelper.cs(20170223)
    FileDown.cs(20170223)
    EncryptionHelper.cs(20170223)
    CookieHelper.cs(20170223)
    ConvertJson.cs(20170223)
    ConvertHex.cs(20170223)
  • 原文地址:https://www.cnblogs.com/bettercoder/p/3379080.html
Copyright © 2020-2023  润新知