Отладка Shared Library

Discussion in 'WASM.UNIX' started by Zlyden, Jun 29, 2010.

  1. Zlyden

    Zlyden New Member

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

    Mika0x65 New Member

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

    Zlyden New Member

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

    AndreyMust19 New Member

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

    Mika0x65 New Member

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

    'name_of_a_file'::name_of_a_function

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

    AndreyMust19 New Member

    Blog Posts:
    0
    Ах, спасибо. Оказывается, кавычки еще надо ставить.