Де ubuntu 14.04 скидає основні файли?


20

Я ввімкнув необмежений розмір основного файлу за допомогою ulimit:

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

Я вважаю, що я запустив основний дамп, але я не можу знайти основний файл у себе вдома, var / ... тощо.

Чи знаєте ви, де Ubuntu налаштовує основне місце скидання?


@djf в ОП не було вказано, яка програма спричиняє основні звалища. Це може бути не код програміста. Це може бути Єдність для всіх, кого ми знаємо.
Багата Гомолка

1
Як це питання SuperUser? Йдеться про запуск налагоджувача, який використовують лише програмісти. Це потрібно перенести назад до 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" ... яка не має жодної сторінки, ані корисного виводу. Так що все ще шукаю мої скинуті сердечники. :(
gojomo

1
apport - це стандартний обробник ядра для робочого столу Linux, який зазвичай звітує перед вашим дистрибутивом.
kkron

Як відкрити цю папку? cd /usr/share/apport/apportне працюють.
mrgloom

32

За замовчуванням ядро ​​Ubuntu налаштовано на використання apport для реєстрації послідовних потоків. Ви можете змінити це за допомогою перезапису /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

Змінення / 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.