|
Вопросы по 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)
|
|
|
|
|
 |
Ответов
(45 - 59)
|
May 16 2008, 08:04
|

Беспросветный оптимист
     
Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646

|
А чё это у меня какие-то фиговинки оранжевые появились? (см. на рис. стрелками указано) И звёздочка какая-то чёрная около названия проекта?  Раньше такого не было... Цитата А кто-нибудь пробовал собрать проект иаром (создать elf с отладочной информацией), а отлаживаться через эклипс, исползуя JLinkGDBServer + arm-elf-gdb? Вот уж воистину, любит русский народ поизгаляться...
--------------------
Программирование делится на системное и бессистемное. ©Моё :) — а для кого-то БГ — это Bill Gilbert =)
|
|
|
|
|
May 16 2008, 10:33
|

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

|
Цитата(LessNik @ May 16 2008, 10:20)  А кто-нибудь пробовал собрать проект иаром (создать elf с отладочной информацией), а отлаживаться через эклипс, исползуя JLinkGDBServer + arm-elf-gdb? Пытался наоборот - создать .elf при помощи arm-elf-gcc и отлаживать его в ИАРе. Не получилось. ИАР выругался на отладочную информацию в .elf Отладчик у ИАРа на порядок или даже два лучше чем gdb с разными GUI.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
May 16 2008, 10:56
|

Знающий
   
Группа: Свой
Сообщений: 877
Регистрация: 26-01-05
Из: Екатеринбург
Пользователь №: 2 206

|
Цитата(IgorKossak @ May 16 2008, 14:57)  На мой взгляд вполне разумное стремление. Не знаю, насколько оно разумно. Какой в нем смысл? Если рассуждать с точки зрения лицензионности софта, так если уж ИАР-вским компилятором проект и так собирается, так и отлаживать его в том же ИАР. Более интересно было бы как раз, собирать проект бесплатным gcc, получить elf и грузить его в ИАРовский дебагер. Но у меня это не получилось. ИАР вроде как только умеет генерить elf, но не грузить его в свой отладчик. Сейчас как раз тут пытаюсь наладить связку gcc + OpenOCD + ARM-USB-OCD + отладка под SlickEdit с истользованием его встроенного gdb клиента. В принципе работает неплохо, но есть ньюансы с загрузкой во flash (пробую на NXP2294 и NXP2378). Иногда всё становится колом и перестает грузиться. Разбираюсь.
--------------------
Пасу котов...
|
|
|
|
|
May 20 2008, 09:46
|

Частый гость
 
Группа: Свой
Сообщений: 107
Регистрация: 6-09-06
Из: Москва
Пользователь №: 20 118

|
Цитата(Andy Mozzhevilov @ May 19 2008, 07:09)  Ну вкусы вкусами, о них не спорят. Но все же - в чем комфортнее? Может я тоже так хочу, просто не знаю?  Мне не нравится иаровский редактор (мягко скажем) и не нравится переключаться меджу n-надцатью окнами, пытаясь найти нужное приложение (для отладки, для редактирования, особено, если работаешь сразу над несколькими проектами одновременно). А в эклипсе это можно всё очень хорошо настроить так, чтоб не напрягало. + ещё все проекты под иаровский компилятор, а времени особо нет всё переписывать под другой компилятор (его ещё выучить нужно). Вот в том и комфортнее.
|
|
|
|
|
May 20 2008, 09:57
|

Знающий
   
Группа: Свой
Сообщений: 877
Регистрация: 26-01-05
Из: Екатеринбург
Пользователь №: 2 206

|
Цитата(LessNik @ May 20 2008, 15:46)  Мне не нравится иаровский редактор (мягко скажем) и не нравится переключаться меджу n-надцатью окнами, пытаясь найти нужное приложение (для отладки, для редактирования, особено, если работаешь сразу над несколькими проектами одновременно). А в эклипсе это можно всё очень хорошо настроить так, чтоб не напрягало. + ещё все проекты под иаровский компилятор, а времени особо нет всё переписывать под другой компилятор (его ещё выучить нужно). Вот в том и комфортнее. Не надо агитировать за другой редактор. Речь не о том. Есть мнение - собирать IAR-ом проект (не суть важно сейчас из-под оболочки IAR или из командной строки и другого редактора), получить выходной формат ELF, который уже отлаживать через GDB. Утверждалось, что в этой связке что-то удобнее, комфортнее (насколько я понял в сравнении с отладкой под IAR). Вот мне и интересно знать, что?
--------------------
Пасу котов...
|
|
|
|
|
May 20 2008, 10:56
|
Частый гость
 
Группа: Свой
Сообщений: 172
Регистрация: 5-08-06
Из: Владивосток
Пользователь №: 19 343

|
Цитата(Сергей Борщ @ Apr 16 2008, 08:06)  Пусто. Я пробовал указывать командный файл, но он почему-то приделывал к этому файлу цыгвиновский путь и не находил. У меня там прописан файл gdb.sim, в нем простенький скрипт для симулятора (эмулятор привинтить руки не доходят) - gdb его находит и выполняет. Не находил, когда файл с точкой перед именем был - это скрытый файл в *них (вроде бы - если не прав, поправьте). Люди, а как в эклипсе кто мониторит SFR? Т.е. работаю я с периферией и мне надо знать в каком состоянии, например, регистр статуса PIO. Какие есть варианты по их чтению при остановке программы?
Сообщение отредактировал Leen - May 20 2008, 11:19
|
|
|
|
|
May 29 2008, 07:50
|

Частый гость
 
Группа: Свой
Сообщений: 107
Регистрация: 6-09-06
Из: Москва
Пользователь №: 20 118

|
Цитата(xelax @ May 29 2008, 09:34)  Window -> Show View -> Problem Цитата по моему небогатому опыту, должны быть включены соответствующие парсеры ошибок в настройках проекта. У меня почему-то иногда галки опадают и ошибки не подсвечиваются. Закономерности особой не нашёл, но при компиляции в консоль выводится лог, в котором описание ошибки, файл и номер строки. Я включил отображение номеров строк и с тех пор особо не парюсь.. Я имел ввиду: Как можно создать САМОМУ СВОЙ СОБСТВЕННЫЙ обработчик ошибок, если стандартные не подходят. Например, компилятор выдаёт номер строки, где произошла ошибка и другую нужную информацию в формате, отличающемся от других компиляторов и поэтому стандартные обработчики ошибок не могут мне показать конкретную строку в исходнике. Зато в консоль выводится вся информация: номер строки, ошибка и причина появления main.cpp", 10 Error[Pe135]: class "BLABLA" has no member "ShowBlaBla" Вот основываясь на этой информации мне нужно отметить в main.cpp строку 10 как ошибку и по двойному нажатии мыши на списке ошибок перейти в место возникновения ошибки.
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|