Перейти к содержанию
    

Все переменные под отладчиком <unavailable>

Вот, к примеру, код:

 

while (1) {

      tmp = str;
      TRACE_INFO("test\n\r"); ///// Здесь точка останова
      tmp = str;
}

 

В этой точке, да и при других раскладах все переменные имеют значение <unavailable> (в тегах, подозреваю движок сожрет теги).

 

Отладчик JetLink5, IAR последний. В чем может быть проблема.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Компилятор выбросил бессмысленные с его точки зрения строки. Соответственно, переменных просто нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проблема в том что переменных tmp и str нет в программе - оптимизатор выкинул их.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Чтобы он их не выкидывал можно для спортивного интереса добавить кваливикатор volatile:

volatile char* tmp;
// или 
volatile int tmp;

в зависимости от вашего типа переменной tmp.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спортивный интерес сработал! Спасибо! Пробовал отключить оптимизатор, но время выполнения в отладке увеличивается. Если проект большой не выгодно

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...