Вверх ↑
Этот топик читают: Гость
Ответов: 952
Рейтинг: 4
#1: 2012-06-03 10:14:10 ЛС | профиль | цитата
Можно ли отлаживая приложение одновременно ставить новые брякпоинты в коде?
Т.е. не просто выставить бряки а потом запускать прогу, а ставить бряки в схему и следить за их реакцией когда программа уже запущена в режиме отладки.
Как то не могу сам разобраться возможно ли это, и если возможно то как.
карма: 0

0
Ответов: 1376
Рейтинг: 198
#2: 2012-06-03 12:15:46 ЛС | профиль | цитата
user_asm писал(а):
просто выставить бряки а потом запускать прогу
по зелёной (с подсказкой "Запустить")
Отладка
карма: 1

0
Ответов: 3889
Рейтинг: 362
#3: 2012-06-03 16:05:27 ЛС | профиль | цитата
user_asm писал(а):
Можно ли отлаживая приложение одновременно ставить новые брякпоинты в коде?

Нет, не возможно. Точки отладки вставляются в указанные Вами места во время компиляции, то есть являются специальными блоками исполнимого кода, отправляющими среде информацию о срабатывании точки и ждущими команды работать далее.
карма: 1

0
Ответов: 952
Рейтинг: 4
#4: 2012-06-04 09:25:25 ЛС | профиль | цитата
Жаль, думал присутствуют какие-нибудь функции динамического отладчика.
Не планируется это реализовать?
карма: 0

0
Ответов: 3889
Рейтинг: 362
#5: 2012-06-04 10:25:34 ЛС | профиль | цитата
user_asm писал(а):
Не планируется это реализовать?

Нет, в этом пакете и этой версии среды этого точно не будет. Не случайно компилятор Автор выбирал самый быстрый. Одна из причин - оперативно перекомпилировать с новыми точками останова или иными изменениями в схеме. Пользуйтесь трассировкой.
карма: 1

0
Ответов: 5227
Рейтинг: 587
#6: 2012-06-06 08:23:53 ЛС | профиль | цитата
1nd1g0, как думаешь если в Debug интегрировать методы для работы с атомами (глобальными), вероятно можно будет лог увидеть даже после того как приложение вывалилось по ошибке или прибито ручками...
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Ответов: 24
Рейтинг: 0
#7: 2012-06-08 19:28:15 ЛС | профиль | цитата
Я извиняюсь если отвлекаю от важных дел и вклинился в чужой разговор.Потихоньку осваиваю HiAsm.Собрал схему из фильма 3042 -52.Мигающие светодиоды бегают по кругу.Всё работает.Решил потренироваться на готовой схеме с отладкой.Поставил точки отладки после генератора и перед светодиодами и не понял одного факта.Что такое NULL.
(В окошке отладки пишет Debug.Type:NULL.Data:NULL).Но при этом генератор работает,светодиоды срабатывают.Если NULL это отсутствие информации - тогда по идее ничего не может изменяться.Или-же это какой-то специфический вид информации (что-то вроде маркера)? Я звиняюсь не программист-может чего и не знаю.
С уважением...
карма: 1

0
Ответов: 1376
Рейтинг: 198
#8: 2012-06-08 19:33:51 ЛС | профиль | цитата
andr_larr писал(а):
NULL это отсутствие информации -
правильно, но событие-то есть, оно произошло
карма: 1

0
Ответов: 3889
Рейтинг: 362
#9: 2012-06-08 19:44:39 ЛС | профиль | цитата
andr_larr, то, что пишет отладка, можете считать "полезным грузом" события, ползущего по "проводам". Без "груза" или с ним, событие всё равно порождает в элементе какое-то действие. Если данных с собой не принесло, беруться с верхних точек и внутренних свойств принявшего событие элемента, которые вы задавали в конструкторе рисуя схему. Если данные были, то они подменяют первое свойство, у которого нет подключенной точки сверху и заполненного вручную свойства внутри. Читайте справку.
------------ Дoбавленo в 19.44:
andrestudio, вести в атомах логи отладки - очень оригинально. AFAIK, атомы медленные, ограничены в размерах, типах данных (целое или строка не более ЕМНИП 255 символов) и в количестве, забив глобальную таблицу атомов, подозреваю, начнём мешать работе других приложений, её использующих. Быстрее и проще просто писать лог в файл, чуть сложнее - транслировать в системный канал отладки, из которого можно читать чем угодно. А ещё можно привесить свой обработчик исключений, вести лог в оперативной памяти и, при вылете приложения, сливать всё необходимое на диск для анализа.
карма: 1

1
Голосовали:andrestudio
Ответов: 24
Рейтинг: 0
#10: 2012-06-08 21:06:28 ЛС | профиль | цитата
Я понял что даже при написании NULL событие происходит.Но как мне убедится что оно произошло ? По тому что в окошке появилось Debug NULL,по тому что отладчик перешёл к следующей точке или по какому иному признаку ?
С уважением...
карма: 1

0
Ответов: 16884
Рейтинг: 1240
#11: 2012-06-08 21:13:11 ЛС | профиль | цитата
andr_larr, а здесь Debug ты был
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 24
Рейтинг: 0
#12: 2012-06-09 11:00:29 ЛС | профиль | цитата
Спасибо за напоминание.Был.Но признака,который-бы чётко определял что происходит событие к сожалению не нашёл.
С уважением...
------------ Дoбавленo в 11.00:
Я извиняюсь если появилась мысль что просто хочу "позадавать умные вопросы".Я сам электронщик и именно инструмент отладки основа получения правильного результата.Вот ещё пример из той-же программы.Светодиод зажжён.Приходит событие на выключение сигнала.Но светодиод так и остаётся зажжёным.И только после следующего события когда зажигается следующий светодиод гаснет и предидущий.Почему ?
Тоесть логика есть,но не та которую я понимаю.Вот и пытаюсь разобраться...
С уважением...


карма: 1

0
Ответов: 5227
Рейтинг: 587
#13: 2012-06-09 11:11:26 ЛС | профиль | цитата
1nd1g0 писал(а):
А ещё можно привесить свой обработчик исключений, вести лог в оперативной памяти и, при вылете приложения, сливать всё необходимое на диск для анализа.
вот это хороший вариант
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Ответов: 8988
Рейтинг: 825
#14: 2012-06-09 12:05:06 ЛС | профиль | цитата
andr_larr писал(а):
Тоесть логика есть,но не та которую я понимаю
Логику без схемы проследить невозможно
карма: 19

0
Ответов: 24
Рейтинг: 0
#15: 2012-06-09 23:59:45 ЛС | профиль | цитата
Я имел ввиду схему из фильма 3042(52 Красивые компоненты)на основе которой и хочу разобраться с отладкой


Add(LED,6136580,651,105)
{
Left=60
Top=40
}
Add(LED,6939207,651,161)
{
Left=60
Top=80
}
Add(LED,15368991,651,217)
{
Left=60
Top=120
}
Add(LED,462540,651,273)
{
Left=105
Top=120
}
Add(LED,9215602,651,329)
{
Left=150
Top=120
}
Add(LED,1156868,651,385)
{
Left=150
Top=80
}
Add(LED,15484289,651,448)
{
Left=150
Top=40
}
Add(LED,3747877,651,511)
{
Left=105
Top=40
}
Add(Timer,5757084,259,322)
{
link(onTimer,11450461:doEvent1,[])
}
Add(Counter,79147,371,287)
{
Max=7
Default=-2
link(onNext,3355004:doEvent1,[(419,293)(419,328)])
}
Add(Counter,6714600,371,357)
{
Max=7
Default=-1
link(onNext,3355004:doEvent2,[(419,363)(419,335)])
}
Add(Hub,11450461,322,322)
{
link(onEvent1,79147:doNext,[(354,328)(354,293)])
link(onEvent2,6714600:doNext,[(354,335)(354,363)])
}
Add(Hub,3355004,434,322)
{
InCount=2
OutCount=1
link(onEvent1,3650781:doEvent,[])
}
Add(IndexToChanel,8037945,483,315)
{
Count=8
link(onEvent1,6136580:doChangeValue,[(583,321)(583,111)])
link(onEvent2,6939207:doChangeValue,[(583,328)(583,167)])
link(onEvent3,15368991:doChangeValue,[(583,335)(583,223)])
link(onEvent4,462540:doChangeValue,[(583,342)(583,279)])
link(onEvent5,9215602:doChangeValue,[(583,349)(583,335)])
link(onEvent6,1156868:doChangeValue,[(583,356)(583,391)])
link(onEvent7,15484289:doChangeValue,[(583,363)(583,454)])
link(onEvent8,3747877:doChangeValue,[(583,370)(583,517)])
}
Add(Debug,3650781,448,322)
{
link(onEvent,8037945:doEvent,[(466,328)(466,321)])
}

С уважением...
карма: 1

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)