Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Вс июл 03, 2022 02:44

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 48 ]  На страницу Пред.  1, 2, 3, 4
Автор Сообщение
 Заголовок сообщения: Re: Вопрос: как отлаживать программы на форт?
СообщениеДобавлено: Ср июн 30, 2021 13:58 
Не в сети

Зарегистрирован: Сб фев 27, 2016 23:11
Сообщения: 10
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Blackice писал(а):
Добрый день, тема старая и приведенные линки не работают. Хотелось бы узнать какие методы отладки есть на вооружении программиста для свеже написанного форт кода?

а скажем переопределить " : " и " ; " чтоб считать уровень вложений, запуск нового слова по команде с клавиатуры?
ну и еще выводить в отдельном окошке пераменты стеков и переменных?
да еще такое для каждого запущенного потока...


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Вопрос: как отлаживать программы на форт?
СообщениеДобавлено: Пн июл 05, 2021 16:18 
Не в сети
Аватара пользователя

Зарегистрирован: Ср фев 23, 2011 20:42
Сообщения: 599
Откуда: Карелия
Благодарил (а): 3 раз.
Поблагодарили: 24 раз.
По моему опыту все прекрасно отлаживается средствами Форта. Если GUI приложение, то я временно делаю его консольным (для этого в моем форте отправляю в комментарий
( GUI )
далее отлаживаемое место обрамляю
DEPTH .
некий код
DEPTH .
чтобы посмотреть не лоханулся ли я с глубиной стека,
факт достижения кодом определенных точеи определяю вставив отладочный вывод
." HERE 1 "
." HERE 2 "
." HERE 3 "
сообщения о достижении точек 1 2 и 3
верхушку стека где интересует вывожу
DUP U. OVER U. CR
значения интересующих переменных вывожу
SOME-VAR @ U. CR
ну и все массивы, записи и куски памяти рассматриваю вываливая их дамп
SOME-ARR 100 DUMP
Возможность разглядывать дампы самое сильное средство - сразу видна вся картинка.
В общем отладочный вывод валю в консоль. И все всегда легко отлаживается. Короче, прогон программы с отладочным выводом в консоль.

Выше советовали CATCH THROW везде где можно. А у меня в Форте этого нет. Руки не дошли добавить. Хотя ясно, что великая вещь, но и без нее все прекрасно отлаживается отладочным выводом в консоль средствами Форта. Короче, на практике отладчик не нужен. А был бы он отладка даже медленнее была бы, это-же надо сначала до нужного места добежать.

Даже если программа ГУЕвая, если в заголовке PE EXE стоит, что она консольная, то к ней сама прилепляется консоль. Окна остаются как были, но еще и консоль. У меня стандартный вывод Форта в эту консоль все и выводит. Отладил - указал в заголовке PE EXE, что прожка чисто ГУЕвая и все. У меня это словом GUI делается, которое при отладке закомментировано, а потом раскомментируется.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Вопрос: как отлаживать программы на форт?
СообщениеДобавлено: Сб ноя 20, 2021 18:21 
Не в сети

Зарегистрирован: Чт июн 03, 2021 16:13
Сообщения: 26
Благодарил (а): 0 раз.
Поблагодарили: 7 раз.
Я углубиться в тему отладки, так как интерактивного отладчика с возможностью пошагать по шитому коду мне очень не хавтало. Оказалось, что интерпретатор прямого шк как нельзя лучше подходит для написания встроенного отладчика с пошаговой отладкой, вищуализацией стеков и пр. Вот решил поделиться результатом Отладчик получился консольный, вход в него осуществляется словом BREAK а выход IDEQUIT. (IDE - Integrated Debug Environment) :)
Приатачиваю скриншот как это все выглядит. Инструмент получился очень мощный. Сейчас уже вижу что вместо адрессов арифметического стека и стека возвратов (от них все равно особо пользы нет) лучше отобразить например стек флоат и стек локальных переменных...


Вложения:
ThreadedCodeDBG.png
ThreadedCodeDBG.png [ 212.82 Кб | Просмотров: 1551 ]

За это сообщение автора Blackice поблагодарил: NLObP
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 48 ]  На страницу Пред.  1, 2, 3, 4

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 18


Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB