|
Вопросы по Eclipse, CDT, Zylin embedded CDT, предлагаю обсуждать тут, может потом FAQ выжмем |
|
|
|
Apr 4 2008, 10:43
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
Чтобы не создавать по отдельной ветке на каждый мелкий вопрос, предлагаю обсуждать здесь всякие вопросы, касаемые работы в среде Eclipse. В крайнем случае можно будет при необходимости что-то "отпочковать" в отдельную ветку.
Вопрос первый - как в перспективе Debug расположить окно с переменными, регистрами и т.д. вдоль всего правого края экрана сверху вниз?
Вопрос второй - как заставить его показывать в окне регистров содержимое SPSR (для ARM), а также "затененных" регистров SP и LR (IAR их как-то показывает)?
Вопрос третий - как поставить точку останова на конкретный адрес не перезапуская отладку? Про break *addres в Debug dialog->commands->'Run' commands я знаю, но это требует перезапуска отладки. На строку в исходнике поставить можно, а если мне надо поставить на конкретную команду, причем не дожидаясь пока эта команда попадет в окно дизассемблера?
Вопрос четвертый - как его заставить показать в окне дизассемблера кусок с произвольного адреса или как "пролистать" дизассемблированный текст дальше вверх-вниз? Попутный вопрос - можно ли его заставить в этом окне показывать команды по порядку адресов - мне он часто показывает команды с пропусками или в причудливо перемешанном порядке.
Вопрос пятый - (ARM) можно ли как-то сбросить ядро не перезапуская сеанс отладки? Т.е. легким движением перевести его в ARM, SYSTEM, записать в PC 0 и остановить его на нулевом адресе.
Вопрос шестой - как его заставить запомнить, что в окне memory я хочу всегда видеть шестнадцатиричные цифры и не спрашивать об этом после каждого перезапуска отладки? При добавлении адреса в окно он этого дурацкого вопроса не задает.
Вопрос седьмой - где ставится галочка "открывать преспективу Debug при запуске отладки"? Оно спросило когда-то при создании не то проекта, не то воркспейса, я ответил неправильно а теперь не могу найти где это изменить.
Вопрос восьмой - работа с системой контроля версий. Что из каталога .metadata надо хранить в репозитории, а что создается само при старте среды? Хранить весь каталог не подходит - в нем после каждого старта среды создается куча новых файлов. Не хранить его тоже неудобно. Как я понял, в нем живут настройки Debug. Во всяком случае при переносе только проекта (без workspace) на другую машину настройки отладки пропадают (кто это придумал?? ведь в этих настройках указывается конкретный проект и выходной файл, т.е. эти настройки больше привязаны к конкретному проекту а не к workspace.)
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
 |
Ответов
(540 - 554)
|
May 10 2012, 09:24
|
Гуру
     
Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322

|
Цитата(Непомнящий Евгений @ May 10 2012, 08:12)  это умеет пунто-свитчер, причем для системного буфера, а не только внутри эклипса Где эта функция включается и как выглядит результат? Цитата(Непомнящий Евгений @ May 10 2012, 08:12)  preferences\c/c++\editor\context assist - тут с галками поиграйтесь Убрал галку Insert single proposal automaticaly. Помогло. Спасибо.
|
|
|
|
|
May 10 2012, 11:46
|
Гуру
     
Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322

|
Цитата(Непомнящий Евгений @ May 10 2012, 14:22)  Где-то в настройках надо поставить галку "следить за буфером обмена" и назначить комбинацию клавиш. По нажатию вываливается окошко с последними содержаниями буфера обмена, выбираешь нужное - оно вставляется. Спасибо. На первый взгляд нормально сделано. P.S. Больше пяти лет PuntoSwitcher использую, а эту функцию не включал ни разу.  P.S.2. Нашел буфер обмена для Эклипс: moreclipboard, но не понравилось - не так как-то.
|
|
|
|
|
May 11 2012, 07:55
|

Местный
  
Группа: Свой
Сообщений: 243
Регистрация: 5-10-06
Из: Зеленоград
Пользователь №: 21 007

|
Цитата(Сергей Борщ @ May 8 2012, 11:45)  - создаем в makefile цель discovery
- ...
- В строку 'Compiler invocation command' вписываем: make
- В строку 'Compiler invocation arguments' вписываем: specs_file=${plugin_state_location}/${specs_file} discovery
Жмем Automated discovery of paths and symbols -> Clear, OK, запускаем компиляцию проекта. Вроде всё настроил, вроде даже работет. Но вот только не подхватывает файлы от тулчейна, например: c:\DevTools\arm_kgp_eabi_x86_32\arm-kgp-eabi\include\stdio.h Цитата(Сергей Борщ @ May 3 2012, 21:46)  У меня тоже пути разные, обнаружение использую и проекты перемещаемы. Что я делаю не так?  Да! Что я делаю не так?  До этого настройки были такими:
и всё определялось нормально. Я подозреваю, что надо в makefile что-то ещё прописать для описанного выше варианта, чтобы пути тулчейна определялись с discovery?
|
|
|
|
|
May 11 2012, 11:15
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
QUOTE (Aaron @ May 11 2012, 10:55)  Но вот только не подхватывает файлы от тулчейна, например: c:\DevTools\arm_kgp_eabi_x86_32\arm-kgp-eabi\include\stdio.h Странно. У меня подхватывает. QUOTE (Aaron @ May 11 2012, 10:55)  До этого настройки были такими: А почему там g++? Разве там не должен быть gcc, который при необходимости вызывает g++ и добавляет ему еще параметров от себя? Что у вас в makefile в качестве $(CC)? У меня arm-none-eabi- gcc, возможно дело в этом? Для отладки этого процесса я добавлял в makefile такие строки: CODE #discovery target for Eclipse parser .PHONY: discovery discovery: echo "$(CC) $(INCLUDES) $(CFLAGS) -E -P -v -dD '$(specs_file)'" > kkk $(CC) $(INCLUDES) $(CFLAGS) -E -P -v -dD '$(specs_file)' >> kkk 2>&1 $(CC) $(INCLUDES) $(CFLAGS) -E -P -v -dD $(specs_file) и смотрел содержимое файла kkk Возможно надо еще вручную сделать Index->rebuild. Добавлено: проверил, что с gcc, что с g++ находит нормально.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
May 12 2012, 06:43
|

Местный
  
Группа: Свой
Сообщений: 243
Регистрация: 5-10-06
Из: Зеленоград
Пользователь №: 21 007

|
Цитата(Сергей Борщ @ May 11 2012, 14:15)  Странно. У меня подхватывает. А почему там g++? Разве там не должен быть gcc, который при необходимости вызывает g++ и добавляет ему еще параметров от себя? Что у вас в makefile в качестве $(CC)? У меня arm-none-eabi-gcc, возможно дело в этом? Для отладки этого процесса я добавлял в makefile такие строки:... Спасибо за помощь, но дело оказалось не в этом. Я давно заметил, что у меня эклипс очень не любит экспериментов с изменением настроек  он вчера вообще упал, перестал запускаться, пришлось настройки плагинов восстанавливать. Заново всё вбил - стал ругаться на мейкфайл с целью discovery, ещё раз все настройки по discovery удалил, почистил, вбил - теперь работает всё замечательно, вот такая у меня странная система. А вообще, отличный рецепт! а то логика подсказывала, что нехорошо и в мейкфайле прописывать дефайны, и в C++ General -> Paths and symbols. По поводу gcc/g++: ну я не такой мастер и знаток, как вы  просто мне казалось, раз я использую c++ в проектах, то и индексатор надо вызывать g++. и всё работало. И в качестве $(CC) у меня стоит gcc.
|
|
|
|
|
May 21 2012, 08:13
|
Местный
  
Группа: Свой
Сообщений: 437
Регистрация: 23-04-05
Из: Таганрог
Пользователь №: 4 425

|
Подскажите, пожалуйста. Имею Eclipse Indigo + KGP + segger gdb под windows 7. Тип проекта - eternal makefile build. Пытаюсь настроить отладку в Меню Run-Debug configurations. Вижу там такое окно:
Я так понимаю, что где-то на нем должна быть вкладка debuggers, в которой прописываются настройки сервера. Как ее получить?
|
|
|
|
|
May 21 2012, 08:43
|
Местный
  
Группа: Свой
Сообщений: 437
Регистрация: 23-04-05
Из: Таганрог
Пользователь №: 4 425

|
Цитата(Непомнящий Евгений @ May 21 2012, 12:22)  Такое ощущение, что это окошко run configurations. В debug - картинка - жук, а не стрелка. Кроме того, в обоих слева есть список вариантов. А у вас его почему-то нет. Да, действительно, если войти через Run-Debug configuration то окошко как у вас, вкладка debuggers имеется, большое спасибо. А как на такое окошко попасть через свойства проекта? Я там искал.
|
|
|
|
|
Jun 26 2012, 21:51
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
QUOTE (Genadi Zawidowski @ Jun 26 2012, 23:39)  чтобы анализатор в eclipse+cdt не закрывал серым внутри нужных #if/#endif? Наверное проще всего как посоветовал Непомнящий Евгений в сообщении №531. В сообщении 539 - пошаговая инструкция.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|