Linux调试时,生成core文件

在Linux中,一般当进程非正常退出时,会生成一个core文件,这个文件是进程猝死时内存的转储文件,也称为core dump。

查看Linux脚本解析方式:

   echo $0 

1.检验core是否打开

以see/see登录  

csh:  limit;    coredumpsize = 0 , 说明没有打开core, 否则打开了。

bash: ulimit –a ;  关注红色部分。 如果是0,表示core没有打开,否则打开了。

2.开启core,设置大小

如果没有开启,永久开启

······以root/huawei用户登录,vi /etc/security/limits.conf ,注意红色部分

soft  <  hard大小

临时指定大小,以see/see用户登录,

csh: limit coredumpsize 4096000 

bash: ulimit -c 4096000  大小低于/etc/security/limits.conf中设置的大小

注意:这些都是临时的,一旦该活跃窗口关闭后再次打开,设置的core大小就失效了。
 

/*==============================================================*/
/*查询isinter守护进程                                                  */
/*==============================================================*/
ps -ef | grep isinter 
/*==============================================================*/
/*关闭isinter守护进程                                      */
/*==============================================================*/
kill 进程ID
/*==============================================================*/
/*打开profile                                                  */
/*==============================================================*/
vi /etc/profile 
/*==============================================================*/
/*在profile末尾添加                                                  */
/*==============================================================*/
ulimit -c unlimited
/*==============================================================*/
/* 使用source命令使之马上生效                   */
/*==============================================================*/
source /etc/profile
/*==============================================================*/
/* 打开kernel参数                                              */
/*==============================================================*/
vi /etc/sysctl.conf 
/*==============================================================*/
/* 添加kernel参数                                              */
/*==============================================================*/
kernel.core_pattern = /home/core/core_%e_%p_%t
kernel.core_uses_pid = 0
/*==============================================================*/
/* 修改结果马上生效                                                 */
/*==============================================================*/
/sbin/sysctl -p
/*==============================================================*/
/*创建/home/core  目录                                                */
/*==============================================================*/
mkdir /home/core

1、sudo su
2、vim /etc/profile
   添加 ulimit -c unlimited
3、在你的主目录下创建core文件夹,比如我在/home/ji下创建core文件夹
4、vim /etc/sysctl.conf
   添加
       kernel.core_pattern=/home/ji/core/core_%e_%p_%t
       kernel.core_uses_pid=0
   说明:
    %e 文件名
    %p 进程pid
    %t 时间
5、reboot 重启电脑
6、编译一个测试文件,a.c
#include <stdio.h>

int main(void)

{

int *a = NULL;

*a = 0x1;

return 0;

}
7、gcc -g a.c -o a.out
8、运行a.out,看一下core文件夹下面有没有core文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值