1)编辑core文件大小,这里让它不受限制
ulimit -c unlimited
2)修改core文件生成格式
cat /proc/sys/kernel/core_pattern
当我准备编辑core_pattern文件,发现没有权限
于是,我sudo chmod 775 core_pattern ,发现不允许。于是探究为什么?
https://unix.stackexchange.com/questions/343275/why-is-editing-core-pattern-restricted
这篇博客谈到了原因,那就照他说得办。
sudo bash -c 'echo /home/user/foo/core.%e-%p-%t > /proc/sys/kernel/core_pattern'
成功修改了文件core_pattern内容,于是core文件dumped 在/home/user/foo/目录下
3)调试core
gdb -c ${core_file} ${bin_源程序}
bt //查看堆栈
frame 0 //转到堆栈第0帧