При отладке программ на Техно ST возникают следующие проблемы с локальными переменными: 1) Во время отладки программы в окне "Переменные" (где указываются значения переменных) отсутствуют локальные переменные. Можно ли как-нибудь еще узнать их состояние (уж больно не хочется создавать для отладки временные каналы)? 2) Иногда требуется держать в памяти какие-нибудь значения, но функций канала они не требуют (для этого ведь удобно использовать программные переменные). Какое время сохраняется значение локальных переменных? По собственным наблюдениям это время составляет период отработки программы... Опять-таки вопрос - неужели для сохранения требуемых значений придется задействовать механизм каналов?
Сообщения / Posts 78 | Из / From: РФ
| IP / IP: IP адрес / IP address |
отправлено / posted
Локальные переменные хранят свои значения только во время отработки программы. При новом вызове программы они принимают заданные Вами начальные значения. Локальные переменные отображаются только в режиме пошаговой отладки программы. Для Ваших целей подойдут глобальные переменные. Они сохраняют свои значения между вызовами программы.
Сообщения / Posts 17321 | Из / From: Россия
| IP / IP: IP адрес / IP address |
SATER
Forum Haunter / Завсегдатай форума
Участник № / Member № 1414
отправлено / posted
пользуйтесь "глобальными" переменными - их видно при отладке и живут долго
а локальные, наверно, нет смысла отображать, так как они живут только 1цикл
тем не менее, зачем в "Настройке ИС" есть птичка "Показать внутренние переменные" ? по справке, это дает возможность отображать: "текущие значения функций, их аргументов и переменных" "и переменных" - это относится только к переменным тех функций?
[ 10.12.2010, 13:19: Сообщение отредактировал / Message edited by AdAstra Technical Support ]
Сообщения / Posts 141 | Из / From: Украина
| IP / IP: IP адрес / IP address |
Abram Shnider
Active Forum Member / Активный участник форума
Участник № / Member № 4534
отправлено / posted
Благодарю за разъяснения.
Еще вопрос по отладке: При отладке программы на Техно ST, IDE отказывается работать с механизмом каналов. А именно: при использовании входных и выходных значений каналов (создание переменных с привязками к атрибутам "Реальное значение" и "Входное значение", соответственно), значение со входа канала не передается на выход и поэтому не изменяется атрибут "Реальное значение" канала (также предположительно не будет работать и масштабирование и остальная обработка канала).
Сообщения / Posts 78 | Из / From: РФ
| IP / IP: IP адрес / IP address |
отправлено / posted
SATER. Вы правы, "это относится только к переменным тех функций". И тоже реализуется только при пошаговой отладке.
Программа отлаживается в редакторе программ в автономном режиме, без связи с атрибутами каналов. И каналы в IDE не обрабатываются, не пересчитываются. Они обрабатываются при запуске узла под управлением МРВ или профайлера. Но тогда программа функционирует уже в реальном времени. а не в режиме отладки.
Сообщения / Posts 17321 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Abram Shnider
Active Forum Member / Активный участник форума
Участник № / Member № 4534
отправлено / posted
SATER. Спасибо за совет по поводу "Настроек ИС". Действительно позволяет получить представление о состоянии внутренних переменных (к которым, впрочем, относятся не только локальные).
Все же несколько неудобно получается отлаживать программу... Ведь приходится имитировать передачу значения самостоятельно. Это было бы терпимо при пошаговой отладке, но на данный момент у меня появилась проблема, связанная с тем, что при отладке именно по шагам (F10) вычисления не производятся (по крайней мере этого не заметно по переменным); а это решается только при пошаговой отладке с выходом из функции (F11). Следовательно, воспользоваться именно пошаговой отладкой я не могу...
Сообщения / Posts 78 | Из / From: РФ
| IP / IP: IP адрес / IP address |
отправлено / posted
Пошаговая отладка ориентирована на статусы переменных. Аргументы меняются только при входе и выходе из программы. Локальные и глобальные переменные меняются как программно, так и вручную, в пределах шага.
Сообщения / Posts 17321 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Abram Shnider
Active Forum Member / Активный участник форума
Участник № / Member № 4534
отправлено / posted
Большое спасибо за оперативное рассмотрение моих вопросов!
Есть некоторые вопросы по поводу работы компилятора, но их я сформулирую и напишу в новой теме (все-таки они не относятся к отладке).
Сообщения / Posts 78 | Из / From: РФ
| IP / IP: IP адрес / IP address |