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

原文地址:https://www.cnblogs.com/bettercoder/p/3379080.html