在Ubuntu中,可以通过以下步骤解决coredump问题:
ulimit -c
如果返回值为0,则表示coredump已被禁用。可以使用以下命令将其设置为unlimited:
ulimit -c unlimited
cat /proc/sys/kernel/core_pattern
echo 1 > /proc/sys/kernel/core_uses_pid
#include <stdlib.h>
int main() {
int *p = NULL;
*p = 10;
return 0;
}
然后使用以下命令编译并运行该程序:
gcc test.c -o test
./test
如果一切正常,应该能在当前目录找到一个名为core的coredump文件。
通过以上步骤,可以在Ubuntu上解决coredump问题,确保coredump文件生成正常,并能够帮助定位程序中的错误。