Полная версия этой страницы:
Проблема с AVR studio
Hunter07
Aug 14 2007, 17:13
При отладке через arv jtag не показывает значения переменных - пишет not in scope.
Компилятор winavr 2007. Формат dwarf2. Что не так делаю?
Прохожий
Aug 14 2007, 17:19
Цитата(Hunter07 @ Aug 14 2007, 21:13)

При отладке через arv jtag не показывает значения переменных - пишет not in scope.
Компилятор winavr 2007. Формат dwarf2. Что не так делаю?
Если это С, то это дело может означать, что переменных на момент точки останова еще или уже нет. Т. е. была создана "куча", ею воспользовались, а затем уничтожили, или еще не создали.
Hunter07
Aug 14 2007, 17:26
Переменные глобальные, используются в функции где стоит точка останова.
sergeeff Jr.
Aug 14 2007, 17:40
Обойди глобальные переменные (например передав их в качестве параметра дальше)...
А в симуляторе так же дела обстоят с переменными?
Hunter07
Aug 15 2007, 07:39
Да также, в симуляторе тоже не показывает. Сообщение тоже.
Показывает только некоторые локальные переменные - счетчик циклов в for, например.
Kuzmi4
Aug 15 2007, 07:43
Советовал бы перед точкой останова присваивать перемненной что интересна для наблюдения какое то число или чтото + так же смотерть ассемблерный код....
Код хоть позволяет - не сильно там всё наворочено ??
Hunter07
Aug 15 2007, 07:49
как раз наворочено)) вот решил посмотреть jtag'oм что к чему, а не показывает...
ну хоть ход программы видно и то ладно.
Kuzmi4
Aug 15 2007, 07:54
Тогда всё таки рализовать пункт1 - запись в переменную перед точкой останова - и просто посмотреь этот код - что оно там делает...А то у меня тоже бывало так - при оптимизации и С - как была , попробуте записать в переменную значение с порта DDRA или PORTA например а перед этим - просто число - резыльтат вас должен насторожить если я правильно понимаю.....
Похоже, переменная выкинута компилятором при оптимизации.
Kuzmi4
Aug 15 2007, 08:09
Та не выкинута - если товарищ попытается записать туда значение с порта - то всё будет ок - а если прост оцифру тогда - да - ничего не будет - оптимизация мать его .....
defunct
Aug 15 2007, 10:05
Отключайте оптимизацию при отладке (-o0).
Или ставьте ключевое слово volatile перед переменной, обращения к которой не надо оптимизировать
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.