OberonCore
https://forum.oberoncore.ru/

Отладчик под А2
https://forum.oberoncore.ru/viewtopic.php?f=22&t=1410
Страница 2 из 2

Автор:  budden [ Вторник, 26 Ноябрь, 2019 17:09 ]
Заголовок сообщения:  Re: Отладчик под А2

Коммит 6602 - это не релиз. Видимо, буду собирать ближайший релиз, где уже работает новая структура объектного файла.

Автор:  budden [ Воскресенье, 01 Декабрь, 2019 16:23 ]
Заголовок сообщения:  Re: Отладчик под А2

Вопрос, видимо, риторический, но на всякий случай задам его: нет ли желающих помочь оживить отладчик для нового формата объектных файлов? На данный момент нахожусь в версии 2016-05-15. Залил в неё неплохо работающий TFPET. Отладчик работал до перехода на новый формат (качество прототипа, но брекпойнты и пошаговая отладка скорее работали, чем нет). Теперь, после перехода на новый формат, не формируется файл .dpi . Я начал отлаживать, но я весьма мало обо всём этом знаю и не думаю управиться быстрее месяца.

Автор:  budden [ Воскресенье, 01 Декабрь, 2019 23:33 ]
Заголовок сообщения:  Re: Отладчик под А2

Продвинулся чуть дальше, чем ожидал, дальше пока буду писать на своём форуме, пока не возникнет конкретных вопросов.

Автор:  budden [ Понедельник, 02 Декабрь, 2019 00:01 ]
Заголовок сообщения:  Re: Отладчик под А2

Сделал видео с кратким перечислением сделанного в моём репозитории A2.

https://www.youtube.com/watch?v=VEvuw7CyD4c

Автор:  Ярослав Романченко [ Понедельник, 02 Декабрь, 2019 14:48 ]
Заголовок сообщения:  Re: Отладчик под А2

budden писал(а):
https://www.youtube.com/watch?v=VEvuw7CyD4c
Подписался. Отладчик сделал Богдан Трощинский :)

Автор:  Ярослав Романченко [ Понедельник, 02 Декабрь, 2019 14:54 ]
Заголовок сообщения:  Re: Отладчик под А2

Кстати, поиск по файлам, мне так кажется, видел более продвинутый в Oberon System V4 (Lintz Oberon). Lintz Oberon, кстати, удивительно похож на ББ, только там всё-же ОС, не так сильно завязанная на Windows :lol:
В A2 тоже по-идее не сложно его улучшить. Что-бы находил и показывал не только файлы, а и все места в файлах.

Автор:  budden [ Вторник, 03 Декабрь, 2019 22:11 ]
Заголовок сообщения:  Re: Отладчик под А2

Это пока не самая важная проблема - VS Code решает.
Упёрся в функцию

BtDTraps.GetProcedure ,

https://gitlab.com/budden/jaos/blob/%D0 ... s.Mod#L313

Она делает что-то глубоко магическое, существенно отличается от встроенных аналогов (явно мощнее) и она при переходе к 2016-05-15 сломалась. Вероятно, это как раз связано с изменением формата объектных файлов, но как - то пока что для меня неведомо. Жаль, что очень мало времени этим заниматься, решение этой задачи явно затянется надолго...

Помимо этого сломался поиск конца процедуры (там искалась конкретная последовательность машинных кодов), но это уже не так страшно - я просто это пока что отключил.

Автор:  budden [ Среда, 04 Декабрь, 2019 10:35 ]
Заголовок сообщения:  Re: Отладчик под А2

Вроде в рефлексии что-то похожее нашлось.

Автор:  Ярослав Романченко [ Среда, 04 Декабрь, 2019 10:50 ]
Заголовок сообщения:  Re: Отладчик под А2

budden писал(а):
Вроде в рефлексии что-то похожее нашлось.
Оно там и должно быть :)

Автор:  budden [ Среда, 04 Декабрь, 2019 13:45 ]
Заголовок сообщения:  Re: Отладчик под А2

Оно было скопировано прямо в отладчик с определёнными изменениями. Рефлексия поменялась и скопированный код устарел.

Автор:  budden [ Четверг, 05 Декабрь, 2019 15:58 ]
Заголовок сообщения:  Re: Отладчик под А2

После использования рефлексии вместо старой копипасты ходьба хотя бы частично заработала (хотя глюки есть). В общем-то, это большой результат. Хотя, конечно, хотелось бы, чтобы отладчик реально работал, а пока его использование в новой версии скорее похоже на ходьбу по минному полю. Подумаю, нужно ли остановиться поподробнее на этом или лучше продолжить двигаться вперёд по версиям.

Автор:  budden [ Суббота, 14 Декабрь, 2019 23:09 ]
Заголовок сообщения:  Re: Отладчик под А2

В тот раз оно не работало - это была иллюзия. Теперь заработало.

Автор:  budden [ Четверг, 23 Январь, 2020 15:46 ]
Заголовок сообщения:  Re: Отладчик под А2

Возможно, прошлые успехи были отчасти иллюзорными, т.к. использовался старый модуль рефлексии. Теперь всё более скромно, но больше похоже на правду. Отладчик теперь заработал в ветке, основанной на релизе 2016-12-06, в новом формате объектных файлов и на базе новой рефлексии. Пока не выводятся глобальные переменные и плюс я его проверял только на одном тесте.

Код здесь: https://gitlab.com/budden/jaos/commit/4 ... 2e3bbd5364
Это не релиз, т.е. для работоспособности нужно вернуться по истории до последнего релиза, скачать его и пересобрать. Если вдруг найдётся два желающих посмотреть на результат, то соберу релиз после того, как сделаю глобальные переменные.

Из очевидных необходимых доработок:

  • показывать глобальные переменные
  • больше тестирования
  • интегрировать с отладочной печатью, к-рую я сделал перед этим

Автор:  budden [ Суббота, 25 Январь, 2020 12:09 ]
Заголовок сообщения:  Re: Отладчик под А2

Починил глобальные переменные. Вот так выглядит. Дизассемблер отключен до лучших времён.

Вложения:
отладчик-A2.png
отладчик-A2.png [ 44.62 КБ | Просмотров: 428 ]

Страница 2 из 2 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/