Отладка Shared Library

Тема в разделе "WASM.UNIX", создана пользователем Zlyden, 29 июн 2010.

  1. Zlyden

    Zlyden New Member

    Публикаций:
    0
    Как можно в линуксе (у меня Ubuntu 10.4 lucid) отладить библиотеку с отладочной информацией, если в использующей её программе отладочной информации нет?
    Дело в том, что после сдачи курсовой решил скомпилировать свой проект (динамическая библиотека) на линукс при помощи g++ и gedit. Поисправлял, вроде бы все хорошо, только выводятся сообщения об ошибке из другой используемой библиотеки (но все работает). Не смог найти причину, скачал IDE Code::Blocks (для упрощения отладки). Все настроил, в том числе хост-программу. Нажимаю "Отладка", и меня радуют сообщением, что программа-хост не имеет отладочной информации. Эта программа не моя, исходники достать нереально, но именно под нее работает моя библиотека. Не знаю, удастся ли мне найти эту ошибку без отладки.
     
  2. Mika0x65

    Mika0x65 New Member

    Публикаций:
    0
    А в чем проблема? Загружаем программу в gdb, выполняем 'b name_of_a_function_in_shared_object' затем 'r' и ждем, когда произойдет вызов ф-ии. gdb при этом скажет, что такой ф-ии нет, но он может поставить точку останова, когда библиотека загрузится. Соглашаемся, отлаживаем.
     
  3. Zlyden

    Zlyden New Member

    Публикаций:
    0
    Спасибо, придется отлаживать вручную. Хорошо хоть этот code::blocks имеет редактор удобнее gedit
     
  4. AndreyMust19

    AndreyMust19 New Member

    Публикаций:
    0
    А вот кто бы сказал, как поставить бряк на функцию в библиотеке, если в исполняемом модуле уже есть функция с этим именем?
     
  5. Mika0x65

    Mika0x65 New Member

    Публикаций:
    0
    Погибло мое сообщение :dntknw:. Было так:

    'name_of_a_file'::name_of_a_function

    Имя файла с кавычками.
     
  6. AndreyMust19

    AndreyMust19 New Member

    Публикаций:
    0
    Ах, спасибо. Оказывается, кавычки еще надо ставить.