Удалённая отладка

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
Bishop
новенький
Сообщения: 23
Зарегистрирован: 27.07.2009 18:47:20
Контактная информация:

Удалённая отладка

Сообщение Bishop »

Собственно сабж. Кто нибудь использовал? как настраивали? Спрашиваю, ибо документации по этому дело катастрофически мало. Вообще хотелось бы на одной машине с Win, отлаживать приложение под Linux на другой.
vad74
новенький
Сообщения: 25
Зарегистрирован: 19.01.2010 11:48:24
Откуда: Беларусь

Сообщение vad74 »

Подниму тему. Стоит такая же задача. Есть удалённая машина с Линуксом, это цель. Пишу программу в Лазарусе под Виндой. Нужно настроить удалённую отладку через GDB server. Поставил на Винду укомплектованного Лазаря http://www.pilotlogic.com/sitejoom/index.php?option=com_content&view=article&id=96&Itemid=148. Включил кросскомпиляцию. Прога собралась и под Линуксом запустилась. Какие нужны настройки в Самом Лазарусе для удалённой отладки?
v-t-l
энтузиаст
Сообщения: 744
Зарегистрирован: 13.05.2007 16:27:22
Откуда: Belarus

Сообщение v-t-l »

Lazarus общается с отладчиком gdb через стандартные потоки ввода/вывода/ошибок. Значит, для удаленной отладки требуется передавать эти потоки через сеть между локальной и удаленной машиной.
Варианты: SSH, Telnet, самописные клиент и сервер отладчика :).
В самом Lazarus предлагается использовать SSH.
vad74
новенький
Сообщения: 25
Зарегистрирован: 19.01.2010 11:48:24
Откуда: Беларусь

Сообщение vad74 »

1. Есть где нибуть мануал по настройке связи через SSH?
2. Что и как надо настроить в Лазарусе?
3. Как и что настроить на удалённой машине под Линуксом?
4. Как происходит установка связи по SSH?
Ранее с SSH дело не имел. Поэтому надеюсь на Вашу помощь.

Добавлено спустя 23 часа 10 минут 11 секунд:
v-t-l писал(а):В самом Lazarus предлагается использовать SSH.

Вот и я смотрю в эту сторону. Какой SSH клиент посоветуете ставить на хост с виндой? OpenSSH подойдёт? Для начала хочу понять как происходит настройка отладки.
Раз используется SSH то получается что мы на хосте как бы сидим сразу на таргете. Так? И тогда Лазарус будет общаться с gdb сервером будто он на хосте?
Лазарус при локальной отладке сам запускает gdb сервер. И при SSH связи тоже не надо ручками запускать gdb? Только SSH сервер запускать? Помогите начать работу более детальным советом.
v-t-l писал(а):Варианты: SSH, Telnet

А что можно использовать Telnet? В Лазарусе же нет выбора этого. Как же тогда заставить его через Telnet работать.
Мне защищённое секретное соединение (как SSH) не актуально. Мне бы просто получить возможность удалённой отладки. Лучше попроще, без всяких ключей. Таргет стоит у меня же на столе. Кто нибуть ответте на мои вопросы. Направьте на путь истинный.
vad74
новенький
Сообщения: 25
Зарегистрирован: 19.01.2010 11:48:24
Откуда: Беларусь

Сообщение vad74 »

Не ужели никто не может посоветовать что делать? Никто удалённой отладкой не занимался? :cry:
vad74
новенький
Сообщения: 25
Зарегистрирован: 19.01.2010 11:48:24
Откуда: Беларусь

Сообщение vad74 »

Да уж, более 300 просмотров темы, значит многим вопрос интересен. Но только 1 ответ, и то в общих чертах, не полный. Кто делал, напишите как.
Аватара пользователя
coyot.rush
постоялец
Сообщения: 309
Зарегистрирован: 14.08.2009 08:59:48

Сообщение coyot.rush »

сам удаленной отладкой не занимался но может поможет вот это
часть исходников из книги руководство разработчика kylix http://narod.ru/disk/22264594000/Chapter05.zip.htmlu
The Elf Debug Server http://narod.ru/disk/22264759000/The_Elf_Debug_Server(utf8).txt.html
Аватара пользователя
evd
новенький
Сообщения: 21
Зарегистрирован: 13.09.2009 09:42:28
Откуда: Вологда
Контактная информация:

Сообщение evd »

Здесь есть небольшой мануал
http://wiki.lazarus.freepascal.org/Remote_Debugging
vad74
новенький
Сообщения: 25
Зарегистрирован: 19.01.2010 11:48:24
Откуда: Беларусь

Сообщение vad74 »

coyot.rush это не для Лазаруса. kylix был хорошим начинанием уважаемой фирмы но спёкся.
evd именно отсюда и начинал. Всё сделал до Step 4 включительно. Работает, захожу на удалённую машину без ключа. Далее идёт "Step 5. Setup the ssh debugger in the IDE . ToDo (т.е. делается)". Т.е. как их связать не расписанно. Кое что написанно в самом диалоге настройки отладчика:
//Отладчик GNU через SSH позволяет проводить отладку удалённо через соединение SSH.
//Обратитесь к файлу docs/RemoteDebugging.txt за подробностями. Путь должен содержать
//имя файла клиента SSH, имя удалённой машины с (необязательным) именем пользователя
//и имя файла GDB на удалённой машине. Например: "/usr/bin/ssh username@hostname gdb"
//или: "/usr/bin/setsid /usr/bin/ssh username@hostname gdb"

Итак выбрал тип отладчика "GNU через SSH". Ниже надо ввести путь. Ввёл путь до клиента SSH, имя юзера на таргете и IP адрес таргета, GDB сервер таргета:
"D:\Program Files\OpenSSH\bin\ssh admin@192.0.0.30 gdbserver"
При попытке принять настройки ругается что путь не является исполнимым файлом. Точки останова соответственно не ставит. Что делать? Как их связать?
vad74
новенький
Сообщения: 25
Зарегистрирован: 19.01.2010 11:48:24
Откуда: Беларусь

Сообщение vad74 »

Троху разобрался. Ругалось из-за пробела в пути "Program Files". Перенёс в другое место без пробелов. Теперь говорит что файл отладчика не исполняемый. Ввёл строку "C:\OpenSSH\bin\ssh admin@192.0.0.30 /usr/bin/gdbserver". Что ещё ему надо? Что не так?
Bishop
новенький
Сообщения: 23
Зарегистрирован: 27.07.2009 18:47:20
Контактная информация:

Сообщение Bishop »

В конечном итоге мне пришлось делать свой патч для Лазаруса, иначе оно не работает никак.
Ism
энтузиаст
Сообщения: 908
Зарегистрирован: 06.04.2007 17:36:08

Сообщение Ism »

а что, rdp или nx терминал сервисы не годятся ?
Аватара пользователя
Максим
энтузиаст
Сообщения: 599
Зарегистрирован: 27.07.2007 01:51:43
Откуда: Москва

Сообщение Максим »

Bishop
Может, всё-таки, в багтрекер, а? А то два года уже мучаетесь, так и до язвы недалеко. :mrgreen:
Bishop
новенький
Сообщения: 23
Зарегистрирован: 27.07.2009 18:47:20
Контактная информация:

Сообщение Bishop »

Создал тикет в багтрекере: http://bugs.freepascal.org/view.php?id=21834
Также моя небольшая заметка на эту тему: http://catcompany.org/?p=139
Bishop
новенький
Сообщения: 23
Зарегистрирован: 27.07.2009 18:47:20
Контактная информация:

Сообщение Bishop »

Начиная с r37130 проблема решена. Теперь удалённая отладка работает :)
Ответить