1.生成core文件的设置
首先,linux下默认不生成core文件。
使用使用ulimit -c命令可查看core文件的生成开关,如果为0则表示关闭此功能。
使用ulimit -c filesize命令,可以限制core文件的大小(filesize的单位为kbyte)。
使用ulimit -c unlimited,则表示core文件的大小不受限制。
有以下三种方法可以生成core文件:
1.永久生成core问件。将ulimit -c unlimited写进系统配置里,即在/etc/profile里面加上上述命令,这样重启后生效了。或者使用source命令使之马上生效。source /etc/profile
2.只在当前终端里打开。cd到程序目录,输入ulimit -c unlimited,然后进行编译,也可以生成生成core文件。
3.在程序里使用setrlimit函数设置生成core文件。包含#include<sys/resource.h>,然后在程序里加上如下代码也可以生成core文件。
struct rlimit limit;
limit.rlim_cur = RLIM_INFINITY;
limit.rlim_max = RLIM_INFINITY;
if(setrlimit(RLIMIT_CORE, &limit))
{

本文详细介绍了在Linux环境下如何生成core文件,包括通过修改系统设置、使用setrlimit函数以及通过gdb来实现。此外,还讲解了core文件路径的设置方法,并通过实例演示了如何使用gdb进行调试,包括查看堆栈信息、定位错误位置和打印变量值等步骤。
最低0.47元/天 解锁文章
2826

被折叠的 条评论
为什么被折叠?



