打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
【精品博文】linux编程之 Core Dump

一、Core Dump 定义

Core Dump 又叫核心转存。当程序在运行过程中发生异常,这时Linux系统可以把程序出错的内存内容存储在一个core文件中,这种过程叫 core Dump。

CoreDump 主要用来对付什么样的错误呢?

Segment fault

Linux 应用程序在运行过程中,经常会遇到Segment fault(段错误)这样的错误。产生这样的错误的原因有:


  • 数组访问越界

  • 访问空指针

  • 栈溢出

  • 修改只读内存

  • ......


1.1、CoreDump 使能

在Linux系统中,默认是关闭core dump功能的,但是可以使用ulimit命令打开/关闭 core dump 功能。

1.2、Core 文件分析

发生core dump之后,可以使用gdb进行查看core文件的内容,以定位程序出错的位置。

二、使用范例(访问空指针)

先编写如下程序:test.c

使用编译器编译,并运行:

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

控制台输出如下:

这时候使用gdb进行调试:

gdb ./test ./core

输出如下:

这里可以看出GDB 给出了发生core dump时候的函数具体位置在 test.c 的12 行。这里打印a的信息的时候。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
linux下产生core文件以及不产生core文件的条件
Linux 常用命令:开发调试篇
使用gdb和core dump迅速定位段错误(完)
学会用core dump调试程序错误
在Linux上利用core dump和GDB调试
Linux下发生段错误时如何产生core文件
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服