Отладка разобранных библиотек с помощью gdb

в Linux и Mac OS X я могу использовать stepi и nexti для отладки приложения без отладочной информации.

В Mac OS X GDB показывает функции, которые вызываются внутри библиотеки, хотя иногда продвигает несколько инструкций ассемблера в каждой пошаговой инструкции.

В Linux, когда я вступаю в динамическую библиотеку, GDB теряется. Например, с помощью метода put () в put () есть три инструкции на ассемблере, когда gdb достигает перехода в 0x080482bf, он завершается с сообщением "Нет функции, содержащей программный счетчик для выбранного кадра ".

0x080482ba in puts@plt ()
(gdb) disassemble
Dump of assembler code for function puts@plt:
0x080482b4 :        jmp    *0x8049580
0x080482ba :        push   $0x10
0x080482bf :       jmp    0x8048284 
End of assembler dump.
(gdb) stepi
0x080482bf in puts@plt ()
(gdb) stepi
0x08048284 in ?? ()
(gdb) disassemble
No function contains program counter for selected frame.

Знаете ли вы, как отлаживать эти библиотечные вызовы с помощью GDB.

Ответы на вопрос(1)

Ваш ответ на вопрос