Программирование драйверов Windows

         

Отладчик SoftIce


Отладку драйвера режима ядра на одном компьютере обеспечивает мощный отладчик SoftIce, разработанный фирмой CompuWare Corporation и входящий в состав пакета DriverStudio. Внешний вид интерфейса отладчика сохранился еще со времен MS DOS, однако, при некоторой тренировке с использованием мнемонических команд, вряд ли это доставит много неудобств, тем более что SoftIce управляется мышкой, включая мышку с колесиком.

Параметры запуска устанавливаются конфигуратором DSConfig, который определяет способ запуска SoftIce (при загрузке, по СОМ, по IP адресу, запуск по требованию на данном компьютере), настройки размера окна, настройки мышки.

При настройке загрузки по требованию следует явно запустить из меню команд Пуск -... - Start SoftIce. Данная команда загружает отладчик, а собственно его активация производится комбинацией Ctrl-D.

В том случае, если нужно выполнить отладку драйвера, после загрузки SoftIce следует загрузить файл драйвера (для отладки в исходных текстах &#8212 обязательно отладочную версию) программой loader32 командой Пуск &#8212 ... &#8212 Symbol Loader. Лишь после этого следует активировать отладчик нажатием Ctrl-D.

При помощи команды h в окне активированного отладчика можно ознакомиться с полным набором и форматом команд. Это же можно узнать и из прилагаемой документации.

При помощи определенных команд несложно отыскать драйвер в памяти, если известно имя драйвера или объекта устройства, после чего можно устанавливать точки прерывания в коде драйвера. Затем следует деактивировать отладчик повторным нажатием Ctrl-D. В момент, когда приложение пользовательского режима вызовет драйвер и, соответственно, достигнет указанной точки прерывания, отладчик активизируется самостоятельно. В окне отладчика будет виден нужный фрагмент драйвера.

В то время, когда активно окно отладчика SoftIce, активность операционной системы замирает: не обновляются показания часов, не работает обмен через clipboard и т.п.

Следует отметить, что при работе с SoftIce не следует использовать сложные мышки (например, четырехкнопочные, с двумя колесиками) и мышки USB. Объясняется это тем, что, являясь настоящим отладчиком режима ядра, SoftIce пытается работать с устройствами ввода напрямую, не всегда понимая новые экзотические устройства.

Более детально ознакомиться с отладчиком SoftIce можно, загрузив trial-версию с Интернет сайта CompuWare Corporation.



Содержание раздела