目录:
- 什么是coredump?什么情况下会生成coredump?coredump的作用是什么?
- 如何控制coredump的生成路径和文件名?
- 如何使用gdb调试coredump程序?
0. 什么是coredump?什么情况下会生成coredump?coredump的作用是什么?
1. 如何控制coredump的生成路径和文件名?
(1)ulimit -c
修改coredump文件的存储空间大小,默认是0
ulimit -c 1024
或者
ulimit -c unlimited
(2)设置coredump生成的路径:
通过 /proc/sys/kernel/core_pattern 文件修改:
echo /tmp/core.%e.%p > /proc/sys/kernel/core_pattern
举例:
echo /media/B/share/core.%e.%p > /proc/sys/kernel/core_pattern
这样,再有coredump产生时,就会存储到 /media/B/share/ 目录下,文件名是core.active_threadpool.34257 (可执行文件名+进程号)
2. 如何使用gdb调试coredump程序?
gdb ./active_threadpool core.active_threadpool.34257
gdb + 可执行文件名 + coredump文件
即可开始调试coredump文件。