Модернизация отладчика

Операционная система, написанная на языке Оберон и проект её перевода на русский язык. Только технические вопросы.
БудДен
Сообщения: 854
Зарегистрирован: 07.10.18 14:01

Re: Модернизация отладчика

Сообщение БудДен » 04.05.20 19:39

Вчера убрал проверку того, что печатаемое значение находится на стеке, коммит не скажу. Лучше заработала печать значений (жо этого всё время писало "объект не на стеке и не на куче", потому что он был на стеке другого процесса, а не процесса отладчика). Отсутствие проверки плохо, но пока пусть так будет.

Попробуем теперь сделать, чтобы отладчик обрабатывал не все прерывания, а только свои. Где-то я это уже копал.

Код: Выделить всё

	ExceptionRecord* = RECORD
		ExceptionCode*, ExceptionFlags*: SIGNED32;
		nextExceptionRecord* {UNTRACED}: ExceptionRecordPtr;
		ExceptionAddress*: ADDRESS;
		NumberParameters*: SIGNED32;
		ExceptionInformation*: ARRAY ExceptionMaximumParameters OF SIGNED32
	END;

БудДен
Сообщения: 854
Зарегистрирован: 07.10.18 14:01

Re: Модернизация отладчика

Сообщение БудДен » 04.05.20 23:22

Фильтр на нужные прерывания вроде работает, но зато сломался поиск места в коде в точке останова. Первая мысль - дело в кириллице, и это я сейчас всё ещё проверю, а потом уже спать. Нет. Это не она.

БудДен
Сообщения: 854
Зарегистрирован: 07.10.18 14:01

Re: Модернизация отладчика

Сообщение БудДен » 05.05.20 15:08

Исправил ещё пару ошибок.
  • формировались кривые точки останова с нулевым адресом.
  • Не находилась процедура загрузки модуля (правда, вряд ли её удастся отладить отладчиком - модуль загружается в процессе его открытия отладчиком, и ставить точки прерывания после этого уже поздно). Видимо, нужно отказаться от показа потенциальных точек прерывания в коде загрузки модуля...
https://gitlab.com/budden/jaos/-/commit ... 0d6168d3c4

Ответить