Linux中如何产生core文件?
1.core文件的生成开关和大小限制
2.core文件生成路径
方法1:cat /proc/sys/kernel/core_pattern
方法2:/sbin/sysctl kernel.core_pattern
3.控制core文件的文件名中是否添加pid作为扩展
4.修改core dump文件保存路径和文件名格式
echo "/corefile/core-%e-%p-%t" > /proc/sys/kernel/core_pattern,可以将core文件统一生成到/corefile目录下,产生的文件名为core-命令名-pid-时间戳
/sbin/sysctl -w kernel.core_pattern=/corefile/core-%e-%p-%t
5.为了更详尽的记录core dump当时的系统状态,可通过以下参数来丰富core文件的命名
%% - 单个%字符
%p - insert pid into filename 添加pid
%u - insert current uid into filename 添加当前uid
%g - insert current gid into filename 添加当前gid
%s - insert signal that caused the coredump into the filename 添加导致产生core的信号
%t - insert UNIX time that the coredump occurred into filename 添加core文件生成时的unix时间(由1970年1月1日计起的秒数)
%h - insert hostname where the coredump happened into filename 添加主机名
%e - insert coredumping executable name into filename 添加命令名(程序文件名)
6.运行示例
kk@ubuntu:~/Desk/python/day5-27$ echo "1" > /proc/sys/kernel/core_uses_pid
bash: /proc/sys/kernel/core_uses_pid: 权限不够
kk@ubuntu:~/Desk/python/day5-27$ su
密码:
root@ubuntu:/home/kk/Desk/python/day5-27# echo "1" > /proc/sys/kernel/core_uses_pid
root@ubuntu:/home/kk/Desk/python/day5-27# cd /proc/sys/kernel/
root@ubuntu:/proc/sys/kernel# echo "/tmp/core-%e-%p-%t" > core_pattern
root@ubuntu:/proc/sys/kernel# cd -
/home/kk/Desk/python/day5-27
root@ubuntu:/home/kk/Desk/python/day5-27# exit
exit
kk@ubuntu:~/Desk/python/day5-27$ ll /tmp/
kk@ubuntu:~/Desk/python/day5-27$ ll /tmp/core-a.out-3173-1401287037
-rw------- 1 kk kk 413696 5月 28 22:23 /tmp/core-a.out-3173-1401287037
kk@ubuntu:~/Desk/python/day5-27$ gdb ./a.out /tmp/
/tmp/at-spi2 /tmp/ssh-UTCTvudG1989
/tmp/core-a.out-3173-1401287037 /tmp/unity_support_test.1
/tmp/ibus.log /tmp/VMwareDnD
/tmp/.ICE-unix /tmp/vmware-kk
/tmp/keyring-q0k3an /tmp/vmware-root
/tmp/pulse-2L9K88eMlGn7 /tmp/.X0-lock
/tmp/pulse-PKdhtXMmr18n /tmp/.X11-unix
/tmp/pulse-Y400HBNSM00c
kk@ubuntu:~/Desk/python/day5-27$ gdb ./a.out /tmp/core-a.out-3173-1401287037
Linux中如何产生core文件?的更多相关文章
- Linux中/proc目录下文件详解
转载于:http://blog.chinaunix.net/uid-10449864-id-2956854.html Linux中/proc目录下文件详解(一)/proc文件系统下的多种文件提供的系统 ...
- Linux中/proc目录下文件详解(转贴)
转载:http://www.sudu.cn/info/index.php?op=article&id=302529 Linux中/proc目录下文件详解(一) 声明:可以自由转载本文, ...
- <实训|第十一天>学习一下linux中的进程,文件查找,文件压缩与IO重定向
[root@localhost~]#序言 在今后的工作中,运维工程师每天的例行事务就是使用free -m,top,uptime,df -h...每天都要检查一下服务器,看看是否出现异常.那么今天我们就 ...
- 在本机eclipse中创建maven项目,查看linux中hadoop下的文件、在本机搭建hadoop环境
注意 第一次建立maven项目时需要在联网情况下,因为他会自动下载一些东西,不然突然终止 需要手动删除断网前建立的文件 在eclipse里新建maven项目步骤 直接新建maven项目出了错 ...
- Linux中删除特殊名称文件的多种方式
今日分享:我们在肉体的疾病方面花了不少钱,精神的病害方面却没有花什么,现在已经到了时候,我们应该有不平凡的学校.--<瓦尔登湖> 前言 我们都知道,在linux删除一个文件可以使用rm命令 ...
- linux中增加swap分区文件的步骤方法
一.swap交换分区 Swap分区在系统的物理内存不够用的时候,把硬盘空间中的一部分空间释放出来,以供当前运行的程序使用.那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临 ...
- 在Linux中要修改一个文件夹或文件的权限
在Linux中要修改一个文件夹或文件的权限我们需要用到linux chmod命令来做,下面我写了几个简单的实例大家可参考一下. 语法如下: chmod [who] [+ | - | =] [mode] ...
- Linux环境崩溃生成core文件以及调试
Linux环境崩环境溃生成core文件以及调试 gdb结合coredump定位崩溃进程 Linux 使用core file文件快速定位程序崩溃代码行 http://www.cnblogs.com/ha ...
- Linux 下段错误 core文件
什么是core dump? core的意思是内存,dump的意思是扔出来,堆出来:当一个程序奔溃时,在进程当前工作目录的core文件中复制了该进程的存储图像.core文件仅仅是一个内存映像(同时加上调 ...
随机推荐
- java多线程学习-同步(synchronized)
(示例都是网上视频的) 假如两个线程同时调用一个方法输出字符串 public class SynchronizedTest extends Thread { public static void ma ...
- 集合框架之 List
集合框架就是Java中解决数组长度固定的问题,相当于动态数组,随时用,随时建立,内存释放 这个问题还不知道? 整个集合框架 概括为 List Set Map 这三个接口以及他们的实现类之间的应 ...
- python-->基础-->003->字符串处理
一.去除字符串首尾白空格 说明:即为去除字符串的首尾(即头部和尾部)的白空格(空格本身,回车\r,换行\n,制表符\t, 换页符\f ) 实例: str01 = ' abc def # ' print ...
- 边表+SPFA
传说中效率很NB的单元最短路径算法,传说中时间复杂度为O(kE),k为长度,平均值为2,不知道这话是谁说的,一说流传oi界几年了 边表就是数组模拟邻接表,没学会很难,学会很简单的样子啊 #includ ...
- Mysql导入数据库的方法
mysql导入数据库的方法 | 浏览:41023 | 更新:2012-11-01 19:45 1 2 3 4 5 6 7 分步阅读 MySQL是一个中.小型关系型数据库管理系统,由瑞典MySQL AB ...
- eclipse里面设置JVM参数的问题
在run----run configuration---Agruments里面设置JVM的参数: -Xms256m -Xmx1024m 肯定还有别的方式设置,今天就先写这一种方法.待续...
- DOM、JDOM、DOM4J的区别(转载)
DOM.JDOM.DOM4J的区别 分类: XML2012-06-11 20:47 5576人阅读 评论(6) 收藏 举报 文档xmlcollectionsjavaapi工作 dom是解析xml的底层 ...
- nodejs+express使用html和jade
nodejs+express经常会看到使用jade视图引擎,但是有些人想要访问普通的html页面,这也是可以的: var express = require('express'); var port ...
- js学习-自定义函数、对象的字面量、json对象学习小结
一.自定义对象的构造: var student=new Object(); //object是顶级对象,使用构造函数的方法创建一个对象,此处的意思是创建了一个学生的空对象 student.name=& ...
- iOS 设置tableview头部不可以向下拉动..
- (void)scrollViewDidScroll:(UIScrollView *)scrollView { CGPoint point = scrollView.contentOffset; i ...