Налагодження ядра windows

Термін «налагодження ядра» означає вивчення внутрішньої структури даних ядра і (або) покрокову трасування функцій в ядрі. Ця налагодження є вельми корисним способом дослідження внутрішнього устрою Windows, оскільки вона дозволяє отримати відображення внутрішньої системної інформації, недоступною при використанні будь-яких інших засобів, і дає чітке уявлення про хід виконання коду в ядрі.

Перш ніж розглядати різні способи налагодження ядра, давайте дослідимо набір файлів, який знадобиться для здійснення будь-якого виду такої налагодження.

Символи для налагодження ядра

Файли символів містять імена функцій і змінних, а також схему і формат структур даних. Вони генеруються програмою-компоновщиком (linker) і використовуються отладчиками для посилань на ці імена і для їх відображення під час сеансу налагодження. Ця інформація зазвичай не зберігається в двійковому коді, оскільки при виконанні коду вона не потрібна. Це означає, що без неї двійкового коду стає менше за розміром і виконується швидше. Але це також означає, що при налагодженні потрібно забезпечити отладчику доступ до файлів символів, пов'язаних з двійковими образами, на які йдуть посилання під час сеансу налагодження.

Налагодження ядра windows
Для використання будь-якого засобу налагодження в режимі ядра з метою дослідження внутрішнього устрою структури даних ядра Windows (списку процесів, блоків потоків, списку завантажених драйверів, інформації про використання пам'яті і т. Д.) Вам потрібні правильні файли символів і, як мінімум, файл символів для двійкового способу ядра - Ntoskrnl.exe. Файли таблиці символів повинні відповідати версії того довічного образу, з якого вони були вилучені. Наприклад, при встановленому Windows Service Pack або яке-небудь виправлення, оновлююче ядро, потрібно отримати відповідним чином оновлені файли символів.