[О блоге] [наверх] [пред] [2022-06-27 21:43:17+03:00] [763addc2e593a89a365040923567746f948155a9]
Темы: [systemd]

Coredump в современном GNU/Linux

У меня падает программа под Ubuntu (работает она только под GNU/Linux).
Segfault. Нужно засунуть в отладчик. А где .core? В отличии от *BSD
систем, тут эти файлы не создаются. ulimit -c unlimited не помог --
файлы всё равно не появляются. Во время быстрого поиска в Интернете
видело упоминание coredumpctl, которого не нашёл в своей установке.
Спросил коллег на работе: оказывается эту штуку надо ставить отдельно,
штатно в системе не идёт. Дожили... ставить что-то дополнительно в
систему чтобы получить coredump-ы. А ведь прежде они просто так,
бесплатно, без регистрации и SMS предоставлялись.

    [оставить комментарий]
    комментарий 0:
    From: kmeaw
    Date: 2022-06-29 22:59:27Z
    
    А что написано в sysctl kernel.core_pattern? Если systemd-coredump, то
    они складываются в /var/lib/systemd/coredump. Если хочется максимально
    простого поведения, то в этот sysctl можно записать строку "core", и
    тогда корка попадёт в рабочую директорию падающего процесса.
    
    комментарий 1:
    From: Sergey Matveev
    Date: 2022-06-30 11:04:09Z
    
    *** kmeaw [2022-06-30 01:58]:
    >А что написано в sysctl kernel.core_pattern? Если systemd-coredump, то
    >они складываются в /var/lib/systemd/coredump. Если хочется максимально
    >простого поведения, то в этот sysctl можно записать строку "core", и
    >тогда корка попадёт в рабочую директорию падающего процесса.
    
    Видел где-то упоминание core_pattern, менял его на core, но только после
    установки systemd-coredump сообразил что он скидывал dump в "core" файл,
    а я рефлекторно искал "программа.core" и думал что ничего не создаётся.
    Сейчас там выставлен путь с coredump-ом.