CDT, SCons и отладка с присоединением - PullRequest
0 голосов
/ 09 февраля 2010

Я новичок в разработке в Eclipse / CDT и не очень разбираюсь в gcc / gdb.

Мой проект (разделяемая библиотека) построен в Eclipse с использованием SCons. Сгенерированный .so находится в конце скрипта SCons и копируется в другое место (возможно, это важный момент).

Мое приложение представляет собой плагин, который пользователь должен загрузить в хост-приложение. Поэтому я хочу запустить хост-приложение, загрузить свой плагин / библиотеку и затем присоединить сеанс отладки к хост-приложению (я думаю, это то, что я должен делать).

Я создал конфигурацию отладки. Я выбрал «C / C ++ Attach to Application» для создания своей конфигурации. На главной вкладке я установил свой проект, конфигурацию сборки (вызывая скрипт SCons), а для «приложения C / C ++» я указал путь к хост-приложению.

Но это не работает. Может быть из-за расположения сгенерированного .so. В настройках компоновщика расположение компоновки равно $ {workspace_loc: / myProjectName}. Я не понимаю этот синтаксис, даже если я понимаю, что workspace_loc обозначает корень моего проекта. В любом случае, iot не имеет отношения к тому, где файл SCons создает файл .so. Может быть, это источник проблемы?

Спасибо за вашу помощь. Документация по Eclipse довольно хороша в этих вопросах.

Обновление: я получаю следующую ошибку: ptrace: операция не разрешена.

1 Ответ

0 голосов
/ 09 февраля 2010

Ну, на самом деле, это работает. Но не хорошо. GDB для подключения к хост-процессу требуется около 15 секунд.

После этой задержки я получаю этот след:

.gdbinit: No such file or directory.
(no debugging symbols found)
attach 25678
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)

Но я все еще не могу отладить: я должен сделать "Возобновить", потому что GDB останавливается, когда вложение завершается, и приложение хоста останавливается. Поэтому я подумал, что он разбился.

Мне так и нужно выяснить, почему так долго прикрепляться.

...