Я работаю над созданием регистратора данных Postmortem на платформе Linux.Я также опубликовал вопрос относительно этого проекта.Там я получил механизм потока вызовов для создания файла дампа ядра в версии RHEL: 2.6.18.128-el5.
Это выглядит так:
File Function called
1.source/ arch/i386/kernel/signal.c -----> do_signal( )
2.source/kernel/signal.c ----------> get_signal_to_deliver( )
3.source/fs/exec.c -------------> do_coredump( )
4.source/fs/binfmt_elf.c -------------> elf_core_dump( )
Теперь, согласно требованиям проекта, яМне нужно изменить определения обработчика сигналов по умолчанию с помощью моего собственного определяемого пользователем обработчика сигналов, который обрабатывает различные исключения (SIGSEGV
, SIGFPE
, SIGABRT
и т. д.), вызывающие coredump.Кроме того, мне нужно собрать ядро для хранения изменений в ядре с помощью моего обработчика, заменяющего обработчик по умолчанию.
Кто-нибудь может поделиться информацией о ходе выполнения этих операций?
Заранее спасибо всем ответчикам:)
Спасибо VLC