Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Eclipse
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > GNU/OpenSource средства разработки
Dubov
Хочу запустить удалённую отладку. кое-как настроил SSH, ругается что не может запустить sftp.
Оказалось что на маём таргете(ARM9) установлен tftpd и установить sftp не представляется возможным. как быть?
alx2
Цитата(Dubov @ Apr 3 2013, 00:16) *
Хочу запустить удалённую отладку. кое-как настроил SSH, ругается что не может запустить sftp.
Оказалось что на маём таргете(ARM9) установлен tftpd и установить sftp не представляется возможным. как быть?

А, простите за любопытство, как связана удаленная отладка и sftp? Зачем Вам непременно нужен sftp для отладки?
И почему не представляется возможным?
Dubov
Цитата(alx2 @ Apr 3 2013, 07:22) *
А, простите за любопытство, как связана удаленная отладка и sftp? Зачем Вам непременно нужен sftp для отладки?
И почему не представляется возможным?

sftp нет в составе buildroot. наверное можно собрать руками, но пока не представляю как.
Когда запускаю отладку в Eclipse, то подключение по SSH проходит хорошо, но появляется ошибка, якобы приложение не может найти sftp на таргете.
IgorKossak
Цитата(Dubov @ Apr 3 2013, 08:55) *
sftp нет в составе buildroot. наверное можно собрать руками, но пока не представляю как.
Когда запускаю отладку в Eclipse, то подключение по SSH проходит хорошо, но появляется ошибка, якобы приложение не может найти sftp на таргете.

Есть, называется GESFTPSERVER. Подробнее об удалённой отладке здесь.
Я делал всё по написанному, работает.
Dubov
Цитата(IgorKossak @ Apr 3 2013, 11:33) *
Есть, называется GESFTPSERVER. Подробнее об удалённой отладке здесь.
Я делал всё по написанному, работает.

пробовал сделать по вашему, т.е. работать полностью через buildroot, используя плгин к Eclipse и соответствующий тулчейн. Не получается плагин установить.
Получаю сообщение:

Software being installed: Buildroot SDK Feature 2.0.0.201303202033 (org.buildroot.bundle.feature.feature.group 2.0.0.201303202033)
Missing requirement: Buildroot SDK Feature 2.0.0.201303202033 (org.buildroot.bundle.feature.feature.group 2.0.0.201303202033) requires 'org.eclipse.cdt.autotools.feature.group 0.0.0' but it could not be found


для моего случая, когда я хотел использовать свой компилятор и встроенные средства Eclipse (gdb server и загрузку по ssh) необходим пакет openssh-sftp-server. Изначально следовал этой статье: http://takeworld.blogspot.de/2011/09/arm-linux-eclipse.html
IgorKossak
Цитата(Dubov @ Apr 3 2013, 17:54) *
Не получается плагин установить.
Получаю сообщение:

Software being installed: Buildroot SDK Feature 2.0.0.201303202033 (org.buildroot.bundle.feature.feature.group 2.0.0.201303202033)
Missing requirement: Buildroot SDK Feature 2.0.0.201303202033 (org.buildroot.bundle.feature.feature.group 2.0.0.201303202033) requires 'org.eclipse.cdt.autotools.feature.group 0.0.0' but it could not be found

Здесь два пути:
1. Не устанавливать плагин autotools, у меня и без него отладка работала.
2. sudo apt-get install autotools-dev, потом снова попытаться установить плагин к Эклипс. Должно подхватиться.
Dubov
Стал пытаться понять как настроить отладку первоначальным методом(без плагина buildroot для Eclipse).
Оказалось, что sftp на таргете присутствует. Он входит в пакет openssh. Только вот в чём была проблема: почему-то бинарник sftp-server программа искала в /usr/libexec/ на таргете, а фактически бинарник лежал в /usr/lib, копирование бинарника в /usr/libexec помогло. Толкьо непонятно, где прописывается месторасположение sftp-server (в конфиге sshd_config прописан путь /usr/lib/sftp-server)

Теперь бинарник отлаживаемой программы копируется на таргет без проблем, но теперь возникает сообщение что удалённый порт не отвечает (порт где должен сидеть удалённый gdb).
В каком файле должна находится конфигурация GDB и на каком порту по умолчанию сидит GDB сервер?
alx2
Цитата(Dubov @ Apr 4 2013, 10:22) *
Теперь бинарник отлаживаемой программы копируется на таргет без проблем, но теперь возникает сообщение что удалённый порт не отвечает (порт где должен сидеть удалённый gdb).

А gdbserver-то запущен?

Цитата(Dubov @ Apr 4 2013, 10:22) *
В каком файле должна находится конфигурация GDB

1. Общесистемный gdbinit (расположение задается при конфигурации опцией --with-system-gdbinit);
2. .gdbinit в домашнем директории пользователя;
3. .gdbinit в текущем директории.

Цитата(Dubov @ Apr 4 2013, 10:22) *
и на каком порту по умолчанию сидит GDB сервер?

ИМХО у gdbserver нет порта по умолчанию. То есть порт ему надо указывать всегда. Например gdbserver :12345
Dubov
Запуск прошёл удачно.
Надеюсь опытные люди помогут с проблемами во время отладки. Получаю такие предупреждения:
CODE
warning: Unable to find dynamic linker breakpoint function.
GDB will be unable to debug shared library initializers
and track explicitly loaded dynamic code.
Cannot access memory at address 0x0
warning: Could not load shared library symbols for 2 libraries, e.g. /lib/libc.so.6.
Use the "info sharedlibrary" command to see the complete listing.
Do you need "set solib-search-path" or "set sysroot"?
Single stepping until exit from function main,
which has no line number information.


и ещё такую ошибку: No source available for "main() at 0x8360"

вот код:
CODE
/*
* hello.c
*
* Created on: Mar 31, 2013
* Author: user
*/

#include <stdio.h>

int main(void)

{
int i;
for(;;);
printf("Hello, World!\n");



return 0;

}


Dubov
Проблема решена добавление ключа -ggdb при компиляции. Надеюсь кому-то поможет мой опыт.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.