Вопросы по SIGSEGV в Linux

Тема в разделе "WASM.UNIX", создана пользователем diombre, 3 июн 2009.

  1. diombre

    diombre New Member

    Публикаций:
    0
    Регистрация:
    18 янв 2009
    Сообщения:
    18
    Известно, что если зарегистрировать обработчик сигнала с флагом SA_SIGINFO, то обработчик по возникновении сигнала будет получать доп данные. В случае с сигналом SIGSEGV программа получает адрес структуры sigcontext, содержащая значения регистров на момент (выдачи?) сигнала. Вопрос: имея данные sigcontext, как определить ИМЯ функции/подпрограммы/процедуры, которая вызвала ошибку? Хочу прикрутить подобный механизм к программе, для отладки.
     
  2. Mika0x65

    Mika0x65 New Member

    Публикаций:
    0
    Регистрация:
    30 июл 2005
    Сообщения:
    1.384
    Если нет отладочной информации, то никак.
     
  3. diombre

    diombre New Member

    Публикаций:
    0
    Регистрация:
    18 янв 2009
    Сообщения:
    18
    Отладочная информация есть. Неужели придется читать elf и определять адреса экспортируемых функций вручную? Может, есть что готово-приемлемое?