Страница 1 из 1

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

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

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

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

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

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

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

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

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