Jump to content

gdbserver

gdbserver — компьютерная программа, позволяющая удаленно отлаживать другие программы. [1] Запускаясь в той же системе, что и отлаживаемая программа, он позволяет отладчику GNU подключаться из другой системы; то есть только исполняемый файл, подлежащий отладке, должен находиться в целевой системе («цель»), а исходный код и копия двоичного файла, подлежащего отладке, должны находиться на локальном компьютере разработчика («хост»). Соединение может быть TCP или последовательной линией.

Как это работает

[ редактировать ]
  1. gdbserver запускается в целевой системе с аргументами:
    • Либо имя устройства (для использования последовательной линии), либо имя хоста TCP и номер порта, а также
    • Путь и имя файла исполняемого файла, который необходимо отладить.
    Затем он пассивно ожидает, пока хост-gdb свяжется с ним.
  2. gdb запускается на хосте с аргументами:
    • Путь и имя файла исполняемого файла (и любых источников) на хосте и
    • Имя устройства (для последовательной линии) или IP-адрес и номер порта, необходимые для подключения к целевой системе.

Пример отладки программы под названием hello_world на удаленной цели с использованием TCP («2159» — это зарегистрированный номер TCP-порта для удаленного GDB ):

remote@~$ gdbserver :2159 hello_world
Process hello_world created; pid = 2509
Listening on port 2159
local@~$ gdb -q hello_world
Reading symbols from /home/user/hello_world...done.
(gdb) target remote 192.168.0.11:2159
Remote debugging using 192.168.0.11:2159
0x002f3850 in ?? () from /lib/ld-linux.so.2
(gdb) continue
Continuing.

Program received signal SIGSEGV, Segmentation fault.
0x08048414 in main () at hello_world.c:10
10	        printf("x[%d] = %g\n", i, x[i]);
(gdb)

Альтернативы

[ редактировать ]

Другой метод удаленной отладки программ — использование удаленной заглушки . [2] [ нужны разъяснения ] В этом случае отлаживаемая программа связана с несколькими специальными подпрограммами, реализующими удаленный последовательный протокол GDB. Файл, содержащий эти подпрограммы, называется «заглушкой отладки».

См. также

[ редактировать ]

Примечания

[ редактировать ]
  • Андреас Зеллер: Почему программы терпят неудачу: Руководство по систематической отладке , Морган Кауфманн, 2005. ISBN   1-55860-866-4
[ редактировать ]


Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 588ae7f7e472920f5ee555dc539c8ccb__1722285300
URL1:https://arc.ask3.ru/arc/aa/58/cb/588ae7f7e472920f5ee555dc539c8ccb.html
Заголовок, (Title) документа по адресу, URL1:
gdbserver - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)