LINUX.ORG.RU

GDB, как отлаживать библиотеки


0

0

Добрый день.

Подскажите, как с помощью gdb дебажить библиотеки, к примеру, как указать где лежат исходники glib и её debug версия, чтобы в процессе отладки можно было сделать step в функцию из glib.

Спасибо.

anonymous

Re: GDB, как отлаживать библиотеки

> Подскажите, как с помощью gdb дебажить библиотеки, к примеру, как указать где лежат исходники glib и её debug версия, чтобы в процессе отладки можно было сделать step в функцию из glib.

а он её сам разве не подхватывает автоматом [если есть]?

// wbr

klalafuda ★☆☆ ()

Re: GDB, как отлаживать библиотеки

LD_PRELOAD не поможет ?

BigBiker ()
Ответ на: Re: GDB, как отлаживать библиотеки от anonymous

Re: GDB, как отлаживать библиотеки

LD_PRELOAD="/path/to/my/debug/libs/my_debug_libs.so" gdb my_prog
либо
LD_PRELOAD="/path/to/my/debug/libs/ gdb my_prog

А вообще, с вопросом применения LD_PRELOAD рекомендую ознакомиться, очень мощная вещь.

BigBiker ()
Ответ на: Re: GDB, как отлаживать библиотеки от anonymous

Re: GDB, как отлаживать библиотеки

> step в g_type_init () не получается, проходит мимо.

Очевидно, потому, что код был скомпилирован без -g

Die-Hard ★★★★★ ()
Ответ на: Re: GDB, как отлаживать библиотеки от Die-Hard

Re: GDB, как отлаживать библиотеки

> Очевидно, потому, что код был скомпилирован без -g

Ну не настолько же я тупой. :)

Пробую так:

LD_PRELOAD=/usr/lib/debug/usr/lib/libglib-2.0.so.0.1600.1 gdb main Segmentation fault (core dumped)

anonymous ()

Re: GDB, как отлаживать библиотеки

В общем оказалась виновата убунта. Собрал свою debug-версию glib, указал в LD_PRELOAD и всё стало отлично, никаких сегфолтов.

Всем спасибо!

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.