Задать вопрос

Отладка so-библиотеки, загружаемой посредством dlopen()?

CentOS 6.2, IDE Qt Creator 2.4.1 (используется GNU toolchain).


Решил прикрутить к своему fastcgi-серверу тривиальную систему плагинов. Плагины загружаются из каталога plugins/ посредством библиотечных функций типа dlopen().

Как отлаживать плагин? Ставлю точку останова, запускаю в отладке сервер — точка проигнорирована. Проблемы gdb? Проблемы моих рук или межушного ганглия?


Пока предполагаю следующие пути:

> возможно, не предоставляю отладочной информации, поэтому gdb плевать

> логгировать по старинке

> не пользоваться текущей IDE (там частенько gdb отваливается)


Заранее спасибо за адекватные ответы на, возможно, глупый вопрос.
  • Вопрос задан
  • 3225 просмотров
Подписаться 3 Оценить Комментировать
Ответ пользователя DmZ К ответам на вопрос (3)
DmZ
@DmZ
1. Без отладочной информации IDE просто не сможет привязать точку исполнения к исходникам, т.е. трейсить визуально программу вы не сможете. Отладочную инфу следует добавить.
2. Попробуйте поставить брейкпоинт после dlopen() плагина, а после этого ставить брейкпоинт на функцию в плагине. Так как до dlopen() gdb просто не увидит символов которые загружаются плагином.
Ответ написан