Raydan 0 30 июля, 2009 Опубликовано 30 июля, 2009 (изменено) · Жалоба Есть отладочная плата RDK Phytec LPC3250 с установленным gdbserver и ноутбук с Debian GNU/Linux и arm-linux-gnu-gdb. При отладке функция main "прошагивается" нормально, вход по функциям проходит тоже нормально, а вот при попытке входа на строке типа "obj = new Object();" Eclipse открывает окно с заголовком 2 operator new() new и текстом Can't find a source file at "/home/usb10132/ct1/bin/targets/src/gcc-4.3.2/libstdc++-v3/libsupc++/new_op.cc" Locate the file or edit the source lookup path to include its location. То есть, как я понимаю, вместо того, чтобы войти в конструктор Object, отладчик пытается найти исходник оператора выделения памяти и это у него ну никак не получается. Отладка просто средствами gdb без Eclipse ведет к тем же результатам (впрочем неудивительно). На всякий случай привожу по шагам процесс настройки отладки: Отладочная плата Phytec LPC3250 установлен gdbserver с помощью системы сборки LTIB запущена отлаживаемая программа командой gdbserver 192.168.0.7:6280 где 192.168.0.7 -- ip-адрес ноута, 6280 -- какой-нить незарезервированный порт. Вывод программы следующий: Process m2b created; pid = 374 Listening on port 6280 Ноутбук с Debian GNU/Linux установлены Eclipse и CDT (последних версий на данный момент), система сборки LTIB из CVS, а также отладчик gdb-arm-linux-gnu_6.8-3_i386 отсюда В меню Eclipse Run->Debug Configurations->Debugger проведена следующая настройка: в поле Debugger выбрано 'gdbserver debugger'; в табе Main в поле 'GDB debugger указан путь к установленному ARM-отладчику '/usr/bin/arm-linux-gnu-gdb'; в табе Shared Libraries указан путь к библиотекам платы (у меня это '/home/raydan/ltib/rootfs/lib', подкаталог монтируемой по NFS корневой ФС) в табе Connection выбран тип TCP, указаны ip-адрес платы и порт для соединения Может у кого-то был опыт отладки C++ программ в схожей ситуации, поделитесь пожалуйста. -- С уважением, Дмитрий Винокуров Изменено 30 июля, 2009 пользователем Raydan Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Jameson 0 14 августа, 2009 Опубликовано 14 августа, 2009 · Жалоба Эклипс не находит исходников libstdc++, базовой библиотеки С++ компилятора gcc. Попробуйте этот файл поискать на диске, вдруг путь просто неправильный указан. Как вариант можно скачать исходник gcc 4.3.2, распаковать куда-то, и его туда направить. У меня есть небольшой опыт отладки ARM9 , но из arm-none-eabi-gdb, через J-link и без линукса. А может вам собрать для вашего таргета gdb, и запускать непосредственно оттуда, и сервер, и клиент? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Raydan 0 20 августа, 2009 Опубликовано 20 августа, 2009 · Жалоба Эклипс не находит исходников libstdc++, базовой библиотеки С++ компилятора gcc. Попробуйте этот файл поискать на диске, вдруг путь просто неправильный указан. Как вариант можно скачать исходник gcc 4.3.2, распаковать куда-то, и его туда направить. У меня есть небольшой опыт отладки ARM9 , но из arm-none-eabi-gdb, через J-link и без линукса. А может вам собрать для вашего таргета gdb, и запускать непосредственно оттуда, и сервер, и клиент? Так дело в том, что я и не хотел, чтобы он бродил по исходникам стандартной библиотеки. При запуске собранной под x86 версии моей программы исходники libstdc++ ведь не требуются, и отладка идет только в рамках моего кода, то есть как я и хочу. Насчет сборки непосредственно на целевой плате -- а я не уверен что у меня будет место для полновесного gdb, когда с отладочной платы перейду на "боевую". Это сейчас я особо не ограничен в ресурсах. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
voyt 0 28 сентября, 2009 Опубликовано 28 сентября, 2009 · Жалоба Так дело в том, что я и не хотел, чтобы он бродил по исходникам стандартной библиотеки. При запуске собранной под x86 версии моей программы исходники libstdc++ ведь не требуются, и отладка идет только в рамках моего кода, то есть как я и хочу. Насчет сборки непосредственно на целевой плате -- а я не уверен что у меня будет место для полновесного gdb, когда с отладочной платы перейду на "боевую". Это сейчас я особо не ограничен в ресурсах. Используйте NFS. Медленно, но зато диск почти неограничен. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться