Опубликован: 27.05.2013 | Уровень: для всех | Доступ: платный | ВУЗ: Вятский государственный гуманитарный университет
Самостоятельная работа 1:

Сборка исследовательского ядра Windows и работа с отладчиком

< Лекция 5 || Самостоятельная работа 1: 1234 || Лекция 6 >

Задание 4. Установить отладчик Windows – WinDbg (Windows Debugger).

Указания к выполнению.

1. Скачайте Windows Software Development Kit (SDK) for Windows 8 по следующему адресу:

http://msdn.microsoft.com/en-US/windows/hardware/hh852363

Замечание. Данный дистрибутив предназначен для работы на операционных системах Windows 7 и Windows 8.

Загрузится программа инсталлятор (sdksetup.exe) размером около 1 Мб, после чего следует её запустить. Откроется следующее окно:


Выберите пункт Install the Windows Software Development Kit to this computer, нажмите кнопку Next.

При желании можете поучаствовать в программе улучшения продуктов Microsoft на основе опыта пользователей (Customer Experience Improvement Program) или отказаться от участия в ней:


На следующем шаге, если на вашем компьютере не установлен .NET Framework 4.5, программа инсталлятор предупредит, что без его наличия компонент .NET Framework 4.5 SDK не установится. Нам он не нужен, поэтому можно пропустить этот шаг (нажмите Next):


Прочитайте лицензионное соглашение и, если согласны с ним, нажмите Accept.

В следующем окне уберите все галочки, кроме Debugging Tools for Windows и нажмите Install:


Во время установки должно работать соединение с Интернетом.

После завершения установки программу WinDbg можно запустить (в Windows 7) из меню Пуск – Все программы – Windows Kits – Debugging Tools for Windows (X86) – WinDbg (X86).

Задание 5. Настроить отладчик WinDbg для отладки ядра.

Указания к выполнению.

1. Сначала необходимо задать настройки виртуальной машины.

В меню Action выберите пункт Settings. В левой панели выберите пункт COM1, в поле Named pipe введите следующий текст:

\\.\pipe\debugPipe

Нажмите кнопку ОК.

2. Установите пути к отладочным символам в настройках отладчика WinDbg.

Запустите отладчик WinDbg. В меню File выберите пункт Symbol File Path (или просто нажмите Ctrl+S). Откроется окно Symbol Search Path, в которое нужно ввести пути к файлам с отладочными символами. Введем два пути:

  • путь к файлу отладочной информации WRK – wrkx86.pdb (например, C:\WRK-v1.2\base\ntos\BUILD\EXE);
  • путь к файлам с отладочными символами других компонентов Windows – можно указать отладчику скачать эти данные с сайта Microsoft и сохранить их в папке на жестком диске, например C:\Symbols.

В окне Symbol Search Path введите следующий текст:

c:\WRK-v1.2\base\ntos\BUILD\EXE;

SRV*c:\symbols*http://msdl.microsoft.com/download/symbols

Обратите внимание, что текст должен идти без пробелов и переносов строк:


Нажмите ОК.

3. Установить путь к исходному коду WRK в настройках отладчика WinDbg.

В меню File выберите пункт Source File Path (или нажмите Ctrl+P). Откроется окно Source Search Path, в которое нужно ввести путь к исходным файлам WRK, например, C:\WRK-v1.2\base:


Нажмите ОК.

4. Установить соединение отладчика WinDbg с виртуальной машиной.

В меню File выберите пункт Kernel Debug (или нажмите Ctrl+K). Откроется окно Kernel Debugging.

Установите следующие значения на вкладке COM в этом окне:

  • Baud Rate: 115200
  • Port: \\.\pipe\debugPipe
  • Pipe: отметить
  • Reconnect: отметить
  • Resets: 0

Нажмите кнопку OK, при этом начнется процесс подключения к виртуальной машине по COM порту. На вопрос о сохранении информации (Save information for workspace) можете ответить Yes.

Запустите виртуальную машину. В меню загрузки выберите Windows Research Kernel [debugger enabled]. В процессе загрузки в окне Command отладчика должна появиться следующая информация:


5. Узнать информацию о загруженных модулях.

Остановите процесс выполнения виртуальной машины, нажав кнопку Break на панели инструментов отладчика, или выбрав в меню Debug пункт Break, или нажав Ctrl+Break.

Отладчик перейдет в режим ввода команд (внизу окна Command сделается активной строка для текстового ввода с подсказкой kd>):


При этом виртуальная машина будет недоступна для любого взаимодействия с пользователем.

В строке команд отладчика введите команду:

lmD

где заглавная буква D – параметр команды lm, отображающей список загруженных модулей.

В окне Command выведется список всех загруженных модулей (на рисунке показана только часть вывода):


Обратите внимание на информацию об отладочных символах справа от модулей ntdll и nt.

Если щелкнуть по названию модуля nt (или ввести команду lmDvmnt), то отобразится более подробная информация о данном модуле:


Чтобы продолжить работу виртуальной машины нажмите F5, или нажмите кнопку g на панели инструментов отладчика, или введите команду g в окне команд.

< Лекция 5 || Самостоятельная работа 1: 1234 || Лекция 6 >
Фанис Гильманов
Фанис Гильманов
Россия, г. Нижнекамск
chunhu wu
chunhu wu
Аргентина, jhkh jk k