меня установлен обработчик аварии на:Распаковка StackTrace от крупных аварий
/proc/sys/kernel/core_pattern
Какие трубы входящий CoreDump в файл, а затем извлекает StackTrace с помощью GDB.
Проблема в том, что иногда эти выпуклости могут быть очень большими (часто более 30 ГБ). В этих случаях пользователи ждут и ждут, пока coredump будет записан на диск до того, как приложение зависает.
Какие-либо предложения относительно того, как обращаться с этими очень большими сердечниками неблокируемым способом? Я не забочусь о корундаме как таковом, ценная стоимость стопки.
У меня нет доступа к источнику, поэтому ответы, такие как https://serverfault.com/questions/627747/non-blocking-core-dump-on-linux, не так практичны.
Спасибо!
Спасибо! tbstack работал как шарм! Любые предложения о том, как развернуть имена функций в стеке? Кстати, я опасаюсь LD_PRELOAD, так как рабочая среда, в которой я работаю, поддерживает очень большое количество сторонних инструментов, каждый из которых должен быть протестирован с этим набором переменных. Еще раз спасибо! – matthewatabet
Хмммм ... на самом деле это может не сработать для моего дела. Запуск утилиты на здоровый процесс работает, как ожидалось. Но, запуская его в недавно разбитый процесс как часть hook_pattern, получается, что 0k копируется из процесса. Это ожидалось? – matthewatabet