Переход на библиотечные вызовы с помощью gdb / gdbserver - PullRequest
9 голосов
/ 15 декабря 2011

У меня общий вопрос по gdb / gdbserver. Я пытаюсь отладить встроенное приложение arm linux, используя gdb на хосте и gdbserver на удаленной цели. Я могу шагать по строкам кода в начале основного. Однако gdb (или gdbserver), похоже, теряется после вызова функций общей библиотеки. Даже когда я устанавливаю точку останова после вызова и использую продолжение, она никогда не достигает точки останова. Я знаю, что у меня нет символов в общих библиотеках, и я действительно не хочу вмешиваться в них. Должен ли я быть в состоянии успешно перебирать вызовы библиотеки в gdb, даже если символы не находятся в общих библиотеках, или, по крайней мере, переходить к следующей точке останова? Или это указывает на другой тип проблемы?

1 Ответ

1 голос
/ 22 декабря 2011

Точки останова по адресу, а не по символу, иногда более надежны.

Попробуйте это:

(gdb) x/i my_func
0x12345678 <my_func> ...
(gdb) break *0x12345678
...