Де написані основні дампи на Mac?


75

У Mac OS X, якщо я надсилаю SIGQUIT до моєї програми C, вона припиняється, але немає основного файлу дампа.

Чи потрібно вручну вмикати основні дампи в Mac OS X (як?), Або вони записуються кудись ще замість робочого каталогу?


2
Замість скарги ви можете переформулювати це - насправді у вашому заголовку навіть немає дієслова. Я б із задоволенням підтримав ваше запитання, тому що мене цікавить тема. Проте я думаю, що питання не відповідає якості, яка вимагається SO. У мене навіть є відповідне запитання щодо coredump stackoverflow.com/questions/2207233/ ... До речі, спільні відвали повинні знаходитись, /coresале шукати в цій папці за допомогою терміналу та кореневого облікового запису.
сорін

5
@Sorin Пропозиція не є проблемою, дріб'язковість - це.
xyz

1
@Sorin FYI 'are' - дієслово (що зв'язує). Не те, щоб це насправді мало значення, але якщо ми критикуємо граматику, давайте все правильно;) examples.yourdictionary.com/reference/examples/…
Рік Сміт,

Відповіді:


96

Здається, вони за замовчуванням придушені. Біг

$ ulimit -c unlimited

Увімкне дампи ядра для поточного терміналу, і він буде розміщений у /coresформаті core.PID. Коли ви відкриваєте новий сеанс, для нього знову буде встановлено значення за замовчуванням.


30

У macOS ваші звалищі аварій автоматично обробляються програмою Crash Reporter .

Ви можете знайти файли зворотного відстеження, запустивши Console і перейшовши до розділу Діагностичні звіти користувачів (у розділі "Діагностична інформація та інформація про використання"), або знайдіть їх у ~/Library/Logs/DiagnosticReports.

Ви також можете перевірити, де дампи генеруються system.logфайлом моніторингу , наприклад

tail -f /var/log/system.log | grep crash

Фактичні файли дампа ядра, які ви можете знайти в /cores.

Дивитися також:


13

Відповідь вище,

ulimit -c необмежений

працює - але не забудьте запустити це в тому самому терміналі, з якого ви будете запускати програму, яка скидає ядро. Спочатку потрібно запустити команду ulimit.


12

Крім того, каталог / cores повинен існувати, і користувач, який запускає програму, повинен мати на ньому дозволи на запис.


6
Я просто прибрав це, зайнявши 186 ГБ свого місця!
Dragonborn

11

за замовчуванням конкретні каталоги в mac osx приховані. Ви можете увімкнути цю функцію в терміналі, і тоді дамп ядра повинен бути видимим у каталозі / ядрах.

за замовчуванням напишіть com.apple.finder AppleShowAllFiles TRUE


3
Дякую. Я переглядав термінал (ls -lah), але це все одно корисна порада.
xyz
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.