linux下生成core dump文件方法及设置
http://www.2cto.com/os/201310/253450.html
在linux平台下,设置core dump文件生成的方法:
1) 在终端中输入ulimit -c 如果结果为0,说明当程序崩溃时,系统并不能生成core dump。
2) 使用ulimit -c unlimited命令,开启core dump功能,并且不限制生成core dump文件的大小。如果需要限制,加数字限制即可。ulimit - c 1024
3) 默认情况下,core dump生成的文件名为core,而且就在程序当前目录下。新的core会覆盖已存在的core。通过修改/proc/sys/kernel /core_uses_pid文件,可以将进程的pid作为作为扩展名,生成的core文件格式为core.xxx,其中xxx即为pid
4) 通过修改/proc/sys/kernel/core_pattern可以控制core文件保存位置和文件格式。例如:将所有的core文件生成到 /corefile目录下,文件名的格式为core-命令名-pid-时间戳. echo "/corefile/core-%e-%p-%t" > /proc/sys/kernel/core_pattern
Redhat Linux下如何生成core dump文件
http://lihuipeng007.blog.163.com/blog/static/121084388201102035746958/
http://blog.chinaunix.net/uid-20651662-id-1906948.html
用gdb查看core文件:
下面我们可以在发生运行时信号引起的错误时发生coredump了.
发生coredump之后,
用gdb进行查看core文件的内容,以定位文件中引发coredump的行.
gdb [execfile] [core file]
如:
gdb ./test test.core
在进入gdb后,
用bt命令查看backtrace以检查发生程序运行到哪里,来定位core dump的文件->行.
下面我们可以在发生运行时信号引起的错误时发生coredump了.
发生coredump之后,
用gdb进行查看core文件的内容,以定位文件中引发coredump的行.
gdb [execfile] [core file]
如:
gdb ./test test.core
在进入gdb后,
用bt命令查看backtrace以检查发生程序运行到哪里,来定位core dump的文件->行.