WikiDer > Gdbserver
gdbserver это компьютерная программа, которая позволяет удаленно отлаживать другие программы.[1] Работая в той же системе, что и отлаживаемая программа, он позволяет Отладчик GNU для подключения из другой системы; то есть только исполняемый файл, который нужно отлаживать, должен находиться в целевой системе («target»), в то время как исходный код и копия двоичного файла для отладки должны находиться на локальном компьютере разработчика («host»). Соединение может быть TCP или последовательной линией.
Как это устроено
gdbserver
запускается в целевой системе с аргументами:- Либо имя устройства (для использования последовательной линии), либо имя хоста TCP и номер порта, и
- Путь и имя исполняемого файла для отладки
- Затем он пассивно ожидает, пока хост GDB свяжется с ним.
GDB
запускается на хосте с аргументами:- Путь и имя исполняемого файла (и любых источников) на хосте, и
- Имя устройства (для последовательной линии) или IP-адрес и номер порта, необходимые для подключения к целевой системе.
Пример отладки программы под названием Привет, мир
на удаленной цели с использованием TCP ("2159" - это зарегистрированный номер порта TCP для удаленного GDB):
удаленный @ ~ $ gdbserver: 2159 hello_worldПроцесс hello_world создан; pid = 2509Прослушивание через порт 2159
местный @ ~ $ gdb -q hello_worldЧтение символов из /home/user/hello_world...done.(GDB) целевой пульт 192.168.0.11:2159Удаленная отладка с использованием 192.168.0.11:21590x002f3850 в ?? () из /lib/ld-linux.so.2(GDB) ПродолжитьПродолжаем.Программа получила сигнал SIGSEGV, Ошибка сегментации.0x08048414 в main () на hello_world.c: 1010 printf ("x [% d] =% g n", i, x [i]);(GDB)
Альтернативы
Еще один метод удаленной отладки программ - использование удаленная заглушка.[2][требуется разъяснение] В этом случае отлаживаемая программа связана с несколькими подпрограммами специального назначения, реализующими удаленный последовательный протокол GDB. Файл, содержащий эти подпрограммы, называется «заглушкой отладки».
Смотрите также
Примечания
Рекомендации
- Андреас Целлер: Почему программы терпят неудачу: руководство по систематической отладке, Морган Кауфманн, 2005. ISBN 1-55860-866-4
внешняя ссылка
Этот компьютерное программирование-связанная статья является заглушка. Вы можете помочь Википедии расширяя это. |