в Linux и Mac OS X Я могу использовать stepi и nexti для отладки приложения без отладки информации.
В Mac OS X gdb отображаются функции, которые вызывается внутри библиотеки, хотя иногда и несколько инструкций ассемблера в каждой инструкции stepi.
В Linux, когда я вхожу в динамическую библиотеку, gdb теряется. Например, с puts() есть три команды ассемблера внутри puts(), когда gdb достигает прыжка на 0x080482bf, он терпит неудачу с сообщением "Нет функции содержит программный счетчик для выбранного кадра".
0x080482ba in [email protected] ()
(gdb) disassemble
Dump of assembler code for function [email protected]:
0x080482b4 <[email protected]+0>: jmp *0x8049580
0x080482ba <[email protected]+6>: push $0x10
0x080482bf <[email protected]+11>: jmp 0x8048284 <_init+48>
End of assembler dump.
(gdb) stepi
0x080482bf in [email protected] ()
(gdb) stepi
0x08048284 in ?? ()
(gdb) disassemble
No function contains program counter for selected frame.
Вы знаете, как отлаживать эти вызовы библиотеки с помощью gdb.