Linux core文件详解
来源:互联网 发布:数据运营驱动力包括 编辑:程序博客网 时间:2024/06/08 10:04
原文地址:
http://blog.csdn.net/skylinesky/article/details/7647098
1、什么是linux core文件
在一个程序崩溃是,它一般会在特定目录(一般是当前目录下)生成一个core文件。core文件仅仅是一个内存映像(同时加上调试信息),主要用来程序调试。
有人可能要问了,gdb不是可以直接调试吗?“加上断点,想怎么调怎么调”。这话倒是不错,但是假如有个几万行的代码,只给出一个segment fault错误,怎么调?不能进去一行一行的调试吧。core文件就能很好的解决这个问题,调试core文件,使用bt或where命令,可以直接显示程序出错的地方,以及调用该函数的其他函数。
2、怎样产生core文件
直接写一个有错误的程序,运行即可。示例程序如下:
- #include<stdio.h>
- void f(float x, float y)
- {
- printf("%f\n", x/y);
- }
- int main(int argc, char *argv[])
- {
- f(5,0);
- return 0;
- }
直接运行怎么没有呢?别急,先看看你的系统设置,使用ulimit 命令(这里有介绍),点击打开链接
可以看到core大小为0,所以不能生成core文件,将core文件大小变大就可以,ulimit -c unlimited,在运行如下图:
3、怎样调试
为了能够调试编译程序时,必须加上编译信息。使用命令gdb -c core;在使用where或者bt就可以显示出程序出错的地方。如下图:
- Linux core文件详解
- Linux core文件详解
- LINUX core dump 详解
- LINUX core dump详解
- Linux core dump详解
- LINUX core dump详解
- Linux core dump详解
- LINUX core dump详解
- LINUX core dump详解
- Linux core dump详解
- Linux core dump详解
- Linux core dump详解
- Linux core dump详解
- LINUX core dump详解
- linux core文件介绍
- Linux之CORE文件
- linux core文件
- Linux core文件设置
- 基于Socket的UDP和TCP编程介绍
- 搜索引擎的工作原理
- 一个网站完整详细的SEO优化方案(很不错的方案,其实之前也是这么干的,懒得形成书面)
- 引用和数组
- 查看系统登陆记录
- Linux core文件详解
- [gcc编程] socket编程——TCP/UDP数据传输
- 如何获得高质量的网站外链
- JS实现页面弹出类似QQ新闻的提示框
- 那些年写过的shell----select的使用
- 什么是SAP的统驭科目
- 5.7 fgets/fputs和gets/puts-流的单行读写
- 今夜,你们是最璀璨的球星
- SEO基本概念之交叉链接