Вы всегда можете запустить gdb -c /path/to/corefile /path/to/program_that_crashed
. Однако, если program_that_crashed не имеет отладочной информации (т. Е. Не был скомпилирован и , связанный с флагом -g
gcc / ld), coredump не очень полезен, если вы не специалист по отладке;)
Обратите внимание, что генерация core-файлов может быть отключена (и очень вероятно, что она отключена по умолчанию в большинстве дистрибутивов). Смотри man ulimit
. Звоните ulimit -c
, чтобы увидеть ограничение основных файлов, «0» означает отключено. Попробуйте ulimit -c unlimited
в этом случае. Если установлен предел размера, размер coredump не будет превышать предельный размер, что может привести к обрезанию ценной информации.
Кроме того, путь, по которому генерируется coredump, зависит от / proc / sys / kernel / core_pattern. Используйте cat /proc/sys/kernel/core_pattern
для запроса текущего шаблона. На самом деле это путь, и если он не начинается с /
, то файл будет сгенерирован в текущем рабочем каталоге процесса. И если cat /proc/sys/kernel/core_uses_pid
возвращает «1», то coredump будет иметь PID файла сбойного процесса в качестве расширения файла. Вы также можете установить оба значения, например, echo -n /tmp/core > /proc/sys/kernel/core_pattern
заставит генерировать все coredumps в /tmp.