Удаленная отладка с помощью SoftICE

Юрий "yurembo" Язев

независимый игродел

  • с помощью null-модемного кабеля;
  • с помощью Dial-up модема;
  • через сетевые платы;

Второй способ сразу же отметается: зачем использовать старые 56-ти килобитные модемы для подключения двух компьютеров? Скорости для пересылки отладочных данных вполне достаточно, однако неудобство использования такой связи на лицо. Этот способ подходит для отладки на удаленном в пространстве компьютере, да и то, модемная связь уже давно канула в лету.
Третий способ вполне хорошо: можно отлаживать программу на находящемся рядом компе, подключенном к локальной сети. Но в таком случае надо установить дополнительные драйвера, предназначенные для SoftICE. Последний поддерживает ограниченное число сетевых плат. К тому же, поскольку драйвера выполняются на 0-й уровне, их установка - это дополнительная дыра в безопасности. В Minix драйвера работаю в пользовательском режиме, и ему норм, правда, все тормозит не по-детски. Но это тема отдельного разговора, относящегося даже не столько к кодокопанию, сколько к проектированию и реализации операционных систем.
Я выбираю первый способ, потому что при его использовании не надо ничего доустанавливать, а скорости вполне достаточно. На современных компах нет COM-портов. Но мы же используем старые машинки, а на них они есть 100%.
Для исследования и удаленной отладки программного обеспечения я использую 2 машинки:

  • хостовая машина на базе процессора Athlon XP 1800 Mhz
  • целевая машина на базе Pentium 4 2800 Mhz

Api Rp 551 Pdf ✅


Откроется окно Dump view. Ниже него будет присутствовать панель для отправки данных. В ниспадающем списке Port выбираем соответствующий порт. Лучше оставить по умолчанию, так как идет прослушка того порта, который был выбран при создании сессии. В списке Baudrate задается скорость передачи в бодах. Рекомендуется выбрать: 57600. Остальные настройки можно оставить без изменений. Для открытия порта жмем кнопку Open. В активирующееся ниже поле ввода введем любое значение и нажмем кнопку Send справа. Содержимое строки будет отправлено. В списке выше отобразится время отправки данных и само отправленное значение. В случае, если порт виртуальный, тогда в этот же момент добавится строка о прочитанных тех же самых данных.


Таким образом, мы можем проверить соединение, отправку и получение данных между двумя компьютерами.
После того, как соединение будет установлено, можно переходить к настройке Айса. Для этого запускаем SoftICE Symbol Loader, в нем открываем меню настроек: Edit -> SoftICE Initialization Settings…


В ниспадающем списке Serial Connection выбираем порт, к которому подключен кабель (мы протестировали его с помощью сниффера), из списка Serial Connection Speed выбираем скорость: 57600. На целевой системе вдобавок поставим флажок Auto Connect (via null modem). После этого надо перезагрузить целевую систему. После чего не забыть, запустить Айс.
Затем на хостовом компьютере из домашней директории SoftICE запустим утилиту siremote со следующими параметрами:
> siremote com1 57600
Заместо com1 должен стоять открытый порт, через который идет соединение.
Если все настройки произведенены верно, на хостовой машине всплывет текстовое окно Айса, и, о чудо, можно переключаться на другие приложения, свободно бегает мышь и клава пишет в любое окно. При этом целевая машина будет заморожена, равно как и должно быть под влиянием Айса.


“Разморозить” целевую систему можно, как с хостовой, так и целевой, нажав Ctrl+D. Теперь, можешь отлаживать любое приложение, в том числе, игры, на целевой машине, отдавая команды с хостовой.

© 2016 - 2026 yurembo

api rp 551 pdf

AI Website Builder