Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: DWARF
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
_Артём_
Здраствуйте?
Вопрос такой: какий опции нужно задать компилятору, чтобы сохранилась отладочная инфориация?

Сделал так в makefile:
Код
CFLAGS    += -gdwarf-2
CXXFLAGS    += -gdwarf-2


Или ещё что-то нужно?

Компилятор: GCC или IAR для CM3.
mdmitry
Цитата(_Артём_ @ Apr 12 2012, 21:29) *
Сделал так в makefile:
Код
CFLAGS    += -gdwarf-2
CXXFLAGS    += -gdwarf-2

Компилятор: GCC или IAR для CM3.

часто для gcc просто -g без уточнения формата. Для более точной настройки следует руководствоваться описанием на компилятор.
MrYuran
Я встречал вот такое:

Код
CFLAGS += -ggdb                   # Генерировать отладочную информацию для gdb


Насколько я представляю, -gdwarf-2 включает в elf исходный текст, привязанный к отладочной информации.
Во всяком случае, без этого флага листинги выходили чисто ассемблерные, без исходников.

Цитата
Компилятор: GCC или IAR для CM3.

Ну, Вы уж определитесь!
_Артём_
Цитата(MrYuran @ Apr 13 2012, 07:16) *
Код
CFLAGS += -ggdb                   # Генерировать отладочную информацию для gdb


Насколько я представляю, -gdwarf-2 включает в elf исходный текст, привязанный к отладочной информации.
Во всяком случае, без этого флага листинги выходили чисто ассемблерные, без исходников.

Не помогло.


Цитата(MrYuran @ Apr 13 2012, 07:16) *
Ну, Вы уж определитесь!

Это не просто если ничо не работает.
demitar
а у Вас, случайно, ключик -s не задан в опциях линкера?
_Артём_
Цитата(demitar @ Apr 13 2012, 14:04) *
а у Вас, случайно, ключик -s не задан в опциях линкера?

Задан неслучайно.
А что, нельзя?
demitar
вроде, он как раз отвечает за удаление всей символьной информации из файла, попробуйте без него
mdmitry
Из документации на ld:
Цитата
-s
--strip-all
Omit all symbol information from the output file.


_Артём_, документацию все-таки посмотрите на средства разработки. Попробуйте для себя понять с какими ключами все у Вас собирается и нет ли где ещё противоречий.
_Артём_
Цитата(mdmitry @ Apr 13 2012, 14:41) *
Из документации на ld:

Как же тогда отлаживать?

Цитата(mdmitry @ Apr 13 2012, 14:41) *
_Артём_, документацию все-таки посмотрите на средства разработки. Попробуйте для себя понять с какими ключами все у Вас собирается и нет ли где ещё противоречий.

Буду посмотреть ещё.
mdmitry
Цитата(_Артём_ @ Apr 13 2012, 17:37) *
Как же тогда отлаживать?

Debug и Release версии сборки.
_Артём_
Цитата(mdmitry @ Apr 13 2012, 18:07) *
Debug и Release версии сборки.

А смысл? Это же разные программы.

Поясню подробней, что я хочу видеть в отладке.
C ноги SWO процессора данные собираются профилировщиком.
Выглядит это например так:
Нажмите для просмотра прикрепленного файла

Получить такую картину, какая функция сколько выполняется у меня не получается.
Может опции компилятора здесь и не причём.
_Артём_
Цитата(demitar @ Apr 13 2012, 14:04) *
а у Вас, случайно, ключик -s не задан в опциях линкера?

Вы имели в виду -s или -Os?
-s не задан
-Os - задан
demitar
-s и -S не должны быть заданы для линкера, они удаляют все "ненужное"
для работы с gprof надо еще задать в опциях компилятора ключ -pg



esaulenka
Цитата(_Артём_ @ Apr 13 2012, 19:38) *
C ноги SWO процессора данные собираются профилировщиком.
Выглядит это например так:


Ух! А что это такое? У меня это выглядит аналогично, но на осциллографе: дрыгаю ножкой, меряю время выполнения. Хочу удобнее!
_Артём_
Цитата(esaulenka @ Apr 17 2012, 14:33) *
Ух! А что это такое? У меня это выглядит аналогично, но на осциллографе: дрыгаю ножкой, меряю время выполнения. Хочу удобнее!


energyAware Profiler
ссылка

Только что-то оно у меня не работает полностью.
Только ток показывает. Не профилирует зараза.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.