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


20

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

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

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

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


@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


Чтобы записать дампы ядра для непакетных программ, создайте файл ~ / .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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.