使用gdb调试coredump的方法

目录:

  1. 什么是coredump?什么情况下会生成coredump?coredump的作用是什么?
  2. 如何控制coredump的生成路径和文件名?
  3. 如何使用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文件。

猜你喜欢

转载自blog.csdn.net/ArtAndLife/article/details/112154382