Chinaunix首页 | 论坛 | 博客
  • 博客访问: 936092
  • 博文数量: 119
  • 博客积分: 6248
  • 博客等级: 准将
  • 技术积分: 1419
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-08 14:14
文章分类

全部博文(119)

文章存档

2014年(1)

2012年(1)

2011年(2)

2010年(22)

2009年(81)

2008年(12)

分类: LINUX

2009-08-18 10:35:52

今天早上,一个同事过来找我,说让我启动linux的core文件,说真的还真是没有弄过都不知道是东西,最后在网上一查才知道是干什么用的,在一个程序崩溃时,它一般会在指定目录下生成一个core文件。core文件仅仅是一个内存映象(同时加上调试信息),主要是用来调试的。
 
按照网上的资料看了看自己的机器,确实linux默认是限制core文件大小的,默认是0,如何看自己机器的core文件大小呢,用下面的命令:
# ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
file size               (blocks, -f) unlimited
pending signals                 (-i) 69632
max locked memory       (kbytes, -l) 32
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 69632
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited
 
可以看到core file size          (blocks, -c) 0 默认为0
 
我们把他改下,利用这个命令来进行修改,ulimit -c 1024,然后再看看
# ulimit -a
core file size          (blocks, -c) 1024
data seg size           (kbytes, -d) unlimited
file size               (blocks, -f) unlimited
pending signals                 (-i) 69632
max locked memory       (kbytes, -l) 32
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 69632
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited
 
现在已经设置成1024了,我们到自己写的程序下面执行自己的程序,发现当程序发生错误时,会生成一个core文件用来发现自己程序的错误.
 
如何查看core,用到这个命令gdb core文件名.
阅读(4214) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2009-09-01 14:48:06

很实用