Где Ubuntu 14.04 сбрасывает файлы ядра?

20

Я включил неограниченный размер файла ядра, используя ulimit:

ulimit -a
core file size          (blocks, -c) unlimited
...

Я полагаю, что запустил дамп ядра, но не могу найти файл ядра у себя дома, var / ... и т.д ...

Знаете ли вы, где Ubuntu настраивает расположение дампа ядра?

jcalfee314
источник
@djf ОП не указал, какая программа вызывала дамп ядра. Это может быть не код программистов. Это может быть Единство для всех, кого мы знаем.
Рич Гомолка
1
Как это вопрос суперпользователя? Речь идет о запуске отладчика, который используют только программисты. Это должно быть перенесено обратно в SO.
Homer6

Ответы:

7

Я думаю, что это больше относится к ядру Linux, чем к конкретному Ubuntu. Проверять, выписываться

cat /proc/sys/kernel/core_pattern

Проверьте справочную страницу файла ядра

Рич Гомолка
источник
13
Это не говорит вам, куда он помещает файл. Вопрос назван Ubuntu 14.04. Совершенно не ясно, следуя команде, в /proc/sys/kernel/core_patternкоторой можно найти файл.
jcalfee314
1
Для меня этот псевдофайл ядра core_pattern ссылается на программу под названием 'apport' ... которая не имеет man-страницы или полезного вывода. Так что все еще ищу мои сброшенные ядра. :(
Годжомо
1
apport - это стандартный обработчик ядра Linux, который обычно отправляется в ваш дистрибутив.
Ккрон
Как открыть эту папку? cd /usr/share/apport/apportне работает
mrgloom
32

По умолчанию ядро ​​Ubuntu настроено на использование apport для регистрации coredumps. Вы можете переопределить это, перезаписав /proc/sys/kernel/core_pattern, проверьте раздел «Имена файлов дампа памяти» в man coreдеталях. Например:

echo '/tmp/core.%e.%p.%t' | sudo tee /proc/sys/kernel/core_pattern

Apport записывает дампы ядра /var/crash/_path_to_program.userid.crash, НО это будет делать только для приложений, установленных из основных репозиториев Ubuntu apt.

Больше информации на apport: https://wiki.ubuntu.com/Apport

maccam94
источник
Чтобы записать дампы ядра для непакетных программ, создайте файл ~ / .config / apport / settings со следующим содержимым: [main] unpackaged = true
greuze
Изменение / proc / sys / kernel / core_pattern у меня не работает в Ubuntu 18.04
greuze
1

В Ubuntu 16.04.3 LTS мой дамп ядра был расположен по адресу:

/var/lib/systemd/coredump/core.application-name.0.24d47e89526c4c7e90953998d2c33d1e.19672.1516049424000000000000

Итак, чтобы запустить его gdb, вы можете запустить:

apt install gdb gdb /path/to/your/binary/application-name /var/lib/systemd/coredump/core.application-name.0.24d47e89526c4c7e90953998d2c33d1e.19672.1516049424000000000000

Homer6
источник