This is topic Отладка программ Техно ST in forum Языки программирования в TRACE MODE 6 / Algorithm Programming Languages at Форум TRACE MODE: техническая поддержка.
При отладке программ на Техно ST возникают следующие проблемы с локальными переменными: 1) Во время отладки программы в окне "Переменные" (где указываются значения переменных) отсутствуют локальные переменные. Можно ли как-нибудь еще узнать их состояние (уж больно не хочется создавать для отладки временные каналы)? 2) Иногда требуется держать в памяти какие-нибудь значения, но функций канала они не требуют (для этого ведь удобно использовать программные переменные). Какое время сохраняется значение локальных переменных? По собственным наблюдениям это время составляет период отработки программы... Опять-таки вопрос - неужели для сохранения требуемых значений придется задействовать механизм каналов?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Локальные переменные хранят свои значения только во время отработки программы. При новом вызове программы они принимают заданные Вами начальные значения. Локальные переменные отображаются только в режиме пошаговой отладки программы. Для Ваших целей подойдут глобальные переменные. Они сохраняют свои значения между вызовами программы.
Posted by SATER (Участник № / Member № 1414) on :
пользуйтесь "глобальными" переменными - их видно при отладке и живут долго
а локальные, наверно, нет смысла отображать, так как они живут только 1цикл
тем не менее, зачем в "Настройке ИС" есть птичка "Показать внутренние переменные" ? по справке, это дает возможность отображать: "текущие значения функций, их аргументов и переменных" "и переменных" - это относится только к переменным тех функций?
[ 10.12.2010, 13:19: Сообщение отредактировал / Message edited by AdAstra Technical Support ]
Posted by Abram Shnider (Участник № / Member № 4534) on :
Благодарю за разъяснения.
Еще вопрос по отладке: При отладке программы на Техно ST, IDE отказывается работать с механизмом каналов. А именно: при использовании входных и выходных значений каналов (создание переменных с привязками к атрибутам "Реальное значение" и "Входное значение", соответственно), значение со входа канала не передается на выход и поэтому не изменяется атрибут "Реальное значение" канала (также предположительно не будет работать и масштабирование и остальная обработка канала).
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
SATER. Вы правы, "это относится только к переменным тех функций". И тоже реализуется только при пошаговой отладке.
Программа отлаживается в редакторе программ в автономном режиме, без связи с атрибутами каналов. И каналы в IDE не обрабатываются, не пересчитываются. Они обрабатываются при запуске узла под управлением МРВ или профайлера. Но тогда программа функционирует уже в реальном времени. а не в режиме отладки.
Posted by Abram Shnider (Участник № / Member № 4534) on :
SATER. Спасибо за совет по поводу "Настроек ИС". Действительно позволяет получить представление о состоянии внутренних переменных (к которым, впрочем, относятся не только локальные).
Все же несколько неудобно получается отлаживать программу... Ведь приходится имитировать передачу значения самостоятельно. Это было бы терпимо при пошаговой отладке, но на данный момент у меня появилась проблема, связанная с тем, что при отладке именно по шагам (F10) вычисления не производятся (по крайней мере этого не заметно по переменным); а это решается только при пошаговой отладке с выходом из функции (F11). Следовательно, воспользоваться именно пошаговой отладкой я не могу...
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Пошаговая отладка ориентирована на статусы переменных. Аргументы меняются только при входе и выходе из программы. Локальные и глобальные переменные меняются как программно, так и вручную, в пределах шага.
Posted by Abram Shnider (Участник № / Member № 4534) on :
Большое спасибо за оперативное рассмотрение моих вопросов!
Есть некоторые вопросы по поводу работы компилятора, но их я сформулирую и напишу в новой теме (все-таки они не относятся к отладке).