При отладке функция 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.
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++ программ в схожей ситуации, поделитесь пожалуйста.
--
С уважением,
Дмитрий Винокуров