Папка средств отладки windows 10

Debugging tools for windows

Раньше я не знал, что такое сабж и не умел его использовать. Теперь немного узнал и впечатлён. Расскажу про свой опыт общения с ним, может кому-то будет полезно.

Эти тулзы содержат мощные отладчики (WinDbg, Cdb) и позволяют делать всякие полезности, типа создания symservers (symstore.exe), создания дампа с процесса (cdb, windbg), отладки мемори ликов (umdh.exe) и других ошибок работы с памятью (gflags — позволяет включать многие «скрытые» системные проверки как для конкретного exe файла, так и для всей системы в целом). Также в комплекте есть много других полезных тулзов, типа просмотрщика debug output.

Взять можно тут: Майкросайт

Например, как получить мемори лики для любой программы:
Нам понадобится umdh.exe, tlist.exe и gflags.exe. Все их надо запускать с админскими правами.
Запускаем gflags.exe, выставляем галочку Create user mode stack database. Перезагружаемся — теперь для всех запущенных программ будет создаваться этот database. Можно для каждого приложения отдельно настроить.
Далее запускаем нужную программу, ждем, пока все загрузится и получаем PID программы с помощью tlist.exe (или как угодно еще). Например, PID == 111.
Далее запускаем umdh.exe -p:111 -f:c:templog1.log
Эта строка сохранит в файл log1.log инфу о всех текущих выделениях памяти в процессе 111.
Далее работаем в программе, ждем сколько-нибудь времени и снова пишем:
umdh.exe -p:111 -f:c:templog2.log
Получаем второй лог с выделениями памяти.
Теперь их можно сравнить и получить лики:
umdh.exe -d -v -l c:templog1.log c:templog2.log 1> c:templog_result.log
Теперь у нас в log_result.log будут все выделенные и не освобожденные куски памяти с калстэками!
Чтобы калстэки были правильные, нужно настроить enviroment variable _NT_SYMBOL_PATH. В хелпе написано, как его настроить для майкрософтовских exe и dll.
Свои pdb лучше всего сохранять на symbol server, который можно пополнять после билдов с помощью symstore.exe — тогда всегда отладчик будет иметь правильный pdb.
Если сервера нет, можно просто положить pdb рядом с ехе — должен подцепиться. Если не подцепится, то добавить путь к pdb в _NT_SYMBOL_PATH.

Если у вас есть дамп файл и надо его проверить, то опять же проще всего использовать WinDbg. Он использует ту же переменную _NT_SYMBOL_PATH и, в отличие от VisualStudio, он не требует ни исходников ни правильных бинарников для отладки. Просто дамп и подходящий pdb! Запускаешь WinDbg.exe, Fileopen crash dump…, открываешь дамп, пишешь !analyze -v, потом !uniqstack и уже обычно этого достаточно в простых случаях. Видишь, какие pdb нашлись, какие нет и получаешь анализ дампа. Можно открыть окошки с callstack, Processes and threads и отлаживаться. Если надо увидеть код — FileSource File Path… — указать путь к исходникам и можно смотреть место в коде, где что произошло (лучше сразу эти пути прописать в enviroment variable _NT_SOURCE_PATH, чтобы не вбивать их каждый раз). Короче, опять все просто и удобно, если есть правильный pdb 🙂

Проблемы с зависаниями чего-либо отлично решаются с помощью создания дампа зависшего процесса. Для этого можно использовать тот же WinDbg или специальные проги или стандартную системную фичу в висте в таск менеджере — создать дамп:)
Причем DebuggingTools можно установить уже после зависания — никакой перезагрузки не надо. Установил — снял дамп. Для снятия дампа юзеру не надо никаких pdb.
Потом этот дамп анализируешь и исправляешь (в Windbg есть специальные команды для поиска дедлоков и т.п. — команда !locks и другие).

Вывод:
Чтобы не иметь проблем с отладкой, надо озаботиться системой хранения pdb файлов для КАЖДОГО билда ну или хотя бы для официальных билдов. А также изучить Debugging tools и написать простые рекоммендации тестерам и программистам — что делать в случае ошибки или зависания, как создавать дамп, куда его класть и с какими коментариями. А некоторые тестеры даже могут запускать WinDBG и копипастить в отчет о баге оттуда нужные данные типа калстэка с ошибкой — очень помогает в предварительном анализе.

В дополнение пара полезных ссылок для начинающих про WinDBG:
WinDbg. From A to Z!
Common WinDbg Commands (Thematically Grouped)

В настройках системы

Самая быстрая и простая активация среды для разработчиков — через меню «Параметры», в котором собраны все основные настройки системы, доступные любому пользователю ПК. Как добраться до нужного пункта в этом окне, опишем подробно в инструкции:

  1. Окно «Параметры» запускается очень легко — с помощью сочетания клавиш Win I. Если вдруг комбинация не сработает на вашем устройстве, откройте панель «Пуск», через которую вы отключаете ПК, и щёлкните по шестерёнке (она ведёт как раз в это же окно).
    Меню «Пуск»
    В системном меню «Пуск» кликаем по шестерёнке, чтобы открыть окно «Параметры Windows»
  2. На начальной странице окна будет несколько плиток. Обращаем внимание на конец списка. Кликаем сразу по разделу «Обновление и безопасность».
    Меню «Параметры Windows»
    В окне «Параметры Windows» жмём на плитку «Обновления и безопасность»
  3. На следующей странице нам понадобится вторая с конца вкладка «Для разработчиков». Здесь необходимо уже активировать наш «Режим разработчика» с помощью одного щелчка по соответствующему значению.
    Вкладка «Для разработчиков»
    Во вкладке «Для разработчиков» кликаем по соответствующему значению, чтобы включить режим
  4. Система выдаст сообщение с предупреждением. В нём нужно щёлкнуть по «Да», чтобы подтвердить намерение активировать среду для программистов.
    Подтверждение включения режима
    Кликаем по «Да», чтобы подтвердить, что вы хотите включить режим
  5. Ждём, когда ОС загрузит все компоненты для стабильной работы режима. В результате под пунктом появится уведомление об успешной активации.
  6. После этого можно сделать перезапуск ПК. Это обязательно, так как без перезагрузки не все параметры будут доступны для изменения. Об этом будет сказано в сообщении под пунктом: «Некоторые функции могут не работать до перезапуска устройства».
    Необходимость перезапуска устройства
    Обязательно перезагрузите компьютер после активации режима, чтобы вам стали доступны все его функции

В системном окне «редактор локальной групповой политики»

Метод активации в этом редакторе довольно простой. Как добраться до нужных параметров в нём, расскажем в инструкции:

  1. Вызывается окно этого редактора по аналогии с запуском «Редактора реестра», то есть через окно «Выполнить». Однако в этом случаем вставляем код gpedit.msc. Затем, жмём на Enter на клавиатуре либо на ОК в окошке, чтобы введённая команда выполнилась.
    Команда gpedit.msc
    Вставьте в строку «Открыть» команду gpedit.msc и нажмите на ОК
  2. В редакторе сразу дважды щёлкаем по блоку «Конфигурация компьютера».
    Редактор локальной групповой политики
    Открываем первый большой раздел «Конфигурация компьютера»
  3. Теперь вам необходимо один за другим запустить три меню со следующими названиями: «Административные шаблоны» — «Компоненты Windows» — «Развёртывание пакета приложений».
    Папка «Развёртывание пакета приложений»
    Откройте папку «Развёртывание пакета приложений» в правой части окна редактора
  4. Появится небольшой перечень доступных функций. Второй пункт в перечне должен нас заинтересовать в первую очередь. Двойным щелчком запускаем её.
    Список доступных политик
    В списке доступных политик откройте сначала «Разрешить разработку приложений магазина Windows»
  5. В сером окошке, которое открылось поверх редактора, ставим круглую отметку слева от значения «Включено». Чтобы изменения начали действовать, жмём на «Применить», а потом на ОК — дополнительное окно исчезнет.
    Изменение значения для политики
    Установите значение «Включено» и примените изменения с помощью специальной кнопки
  6. Затем переходим в ещё одну опцию, посвящённую инсталляции всех доверенных приложений. Здесь также устанавливаем значение «Включено» и применяем изменённые параметры.
    Пункт «Разрешить установку всех доверенных приложений»
    Включите ещё одну политику под названием «Разрешить установку всех доверенных приложений»
  7. Закрываем все окна и перезапускаем устройство. Компьютер загрузится в «Режиме разработчика».
:/>  Как создать загрузочную флешку Windows 10 на Mac?

Версии

Версии Microsoft Windows
Дата выходаНазваниеПоследняя версияДата прекращения поддержкиПоследняя версия встроенного браузера
20 ноября 1985 Windows 1.0x1.04 (апрель 1987) 31 декабря 2001Нет браузеров
1 ноября 1987 Windows 2.x
Windows 2.1x
2.11 (13 марта 1989) 31 декабря 2001
22 мая 1990 Windows 3.x3.00a (31 октября 1990) 31 декабря 2001
18 марта 1992 Windows 3.13.1 31 декабря 2001 Internet Explorer 5
1 октября 1992 Windows для рабочих групп 3.13.11 (31 декабря 1993) 31 декабря 2001
27 июля 1993 Windows NT 3.13.10.528 SP3 (10 ноября 1994) 31 декабря 2001
21 сентября 1994 Windows NT 3.53.50.807 SP3 (21 июня 1995) 31 декабря 2001
30 мая 1995 Windows NT 3.513.51.1057 SP5 (19 сентября 1996) 31 декабря 2001
24 августа 1995 Windows 954.00.950C (4.03.1214) (26 ноября 1997) 31 декабря 2000 (осн.) (Retail); 31 декабря 2001 (SBL) (ext) Internet Explorer 5.5
29 июля 1996 Windows NT 4.04.00.1381 / SP6a SRP (26 июля 2001) 20 июня 2002 (осн.); 30 июня 2003 (SBL); 31 декабря 2004 (ext) Internet Explorer 6
25 июня 1998 Windows 984.10.2222A (SE) (5 мая 1999) 30 июня 2002 (осн.); 31 марта 2004 (SBL); 11 июля 2006 (ext)
20 апреля 2000 Windows 20005.0.2195 / 5.0 SP4 Rollup 1 v2 (13 сентября 2005) 31 марта 2004 (retail); 31 марта 2005 (SBL); 30 июня 2005 (осн); 13 июля 2021 (ext)
14 сентября 2000 Windows ME4.90.3000 (14 сентября 2000) 31 декабря 2003 (осн.); 30 июня 2004 (SBL) (Retail); 11 июля 2006 (ext)
24 августа 2001 (RTM)
25 октября 2001 (продажи)
Windows XP5.1.2600.5512 SP3 (21 апреля 2008) 30 сентября 2004 (RTM); 10 сентября 2006 (SP1/SP1a); 30 июня 2008 (retail); 14 апреля 2009 (SP2/SP3 осн.); 13 июля 2021 (SP2); 22 октября 2021 (SBL); 8 апреля 2021 (ext) Internet Explorer 8
28 марта 2003 Windows XP 64-bit Edition5.2.3790 25 июля 2006
24 апреля 2003 Windows Server 20035.2.3790.3959 SP2 (13 марта 2007) 30 июня 2009 (RTM); 13 июля 2021 (осн.); 14 июля 2021 (ext)
25 апреля 2005 Windows XP Professional x64 Edition5.2.3790.3959 SP2 (13 марта 2007) 30 июня 2008 (retail); 31 января 2009 (SBL)
8 ноября 2006 (RTM)
30 января 2007 (продажи)
Windows Vista6.0.6001 / SP2 Build 6002 (25 мая 2009) 13 апреля 2021 (RTM); 22 октября 2021 (retail); 12 июля 2021 (SP1); 22 октября 2021 (SBL); 10 апреля 2021 (осн.); 11 апреля 2021 (ext) Internet Explorer 9
16 июля 2007 Windows Home Server5.2.4500 (16 июля 2007) 8 января 2021 (ext)
27 февраля 2008 Windows Server 20086.0.6002 / SP2 build 6002 (25 мая 2009)12 июля 2021 (SP1), 13 января 2021 (осн), 14 января 2020 (ext)
13 июля 2009 (RTM)
22 октября 2009 (продажи)
Windows 76.1.7601 / SP1 Build 7601 (22 февраля 2021)9 апреля 2021 (RTM), 13 января 2021 (осн), 14 января 2020 (ext) Internet Explorer 11
13 июля 2009 (RTM)
22 октября 2009 (продажи)
Windows Server 2008 R2 или Windows Server 76.1.7601 / SP1 Build 7601 (22 февраля 2021)13 января 2021 (осн), 14 января 2020 (ext)
6 апреля 2021 Windows Home Server 20216.1.8400 12 апреля 2021 (ext)
1 августа 2021 (RTM)
4 сентября 2021 (продажи)
Windows Server 20216.2.9200 (26 октября 2021)9 октября 2021 (осн), 10 октября 2023 (ext)
1 августа 2021 (RTM)
26 октября 2021 (продажи)
Windows 86.2.9200 (26 октября 2021) 12 января 2021 (ext)
21 августа 2021 (RTM)
17 октября 2021 (продажи)
Windows Server 2021 R26.3.9600 (17 октября 2021)9 января 2021 (осн) 10 января 2023 (ext)
21 августа 2021 (RTM)
17 октября 2021 (продажи)
Windows 8.16.3.9600 (17 октября 2021)9 января 2021 (осн) 10 января 2023 (ext)
15 июля 2021 (RTM)
29 июля 2021 (продажи)
Windows 1010.0.15014 1607 (27 января 2021)13 октября 2020 (осн.), 14 октября 2025 (ext.) Microsoft Edge / Internet Explorer 11 (оставлен для совместимости)
29 сентября 2021 (RTM)
12 октября 2021 (продажи)
Windows Server 20211607 (10.0.14393) (26 сентября 2021) Microsoft Edge
Условные обозначения:
Оболочка для MS-DOS Windows 9x Windows NT Windows Server
Не поддерживается
осн. — окончание действия лицензии для первого (основного) релиза SBL — окончание срока лицензии для производителей retail — окончание срока лицензии для розничных покупателей SPx — окончание срока лицензии для различных дополнений (сервис-паков) к системе ext — полное окончание поддержки системы

Запуск локальных сценариев без подписи в powershell

В целях безопасности консоль PowerShell принимает и выполняет команды только с цифровой подписью. «Режим разработчика» предполагает тестирование различных скриптов, поэтому в нём проверка выполнения локальных скриптов отключается.

PowerShell
«Режим разработчика» позволяет программистам вводить скрипты без подписи в окне PowerShell

Таким образом, пользователи не будут сталкиваться с ошибкой в командной строке: The file is not digitally signed. Они смогут печатать различные скрипты, но только от надёжных создателей.

Ошибка The file is not digitally signed
В «Командной строке» или PowerShell нельзя вводить команды без цифровой подписи: появляется ошибка The file is not digitally signed

Для каждого раздела есть своя кнопка «Применить»: после изменения параметров в нём необходимо обязательно на неё нажать, чтобы все указанные значения вступили в силу. Справа от каждого пункта есть ссылка «Показать параметры». Если вдруг сам параметр некликабелен, нажмите на неё — откроется то или иное окно Windows, которому он соответствует в системе, и измените настройки там.

:/>  ❶ Windows: что делать, если не запускается Утилита настройки системы msconfig 🚩 msconfig что это 🚩 Операционные системы

Изменение параметров «проводника windows»

В соответствующем разделе вы можете настроить показ скрытых папок, системных файлов и их расширений. Это необходимо, например, для очистки системы от ненужных, мусорных файлов, которыми система постепенно забивалась с течением времени.

Раздел «Проводник»
В разделе «Проводник» вы можете включить полный путь к файлам в заголовке одноимённого окна, а также настроить показ скрытых папок и документов

Для обычных пользователей Windows также будет полезна опция отображения полного пути к файлу в адресной строке окна «Проводника». Он выводится в заголовке после двойного клика по строке.

Полный путь к файлу в «Проводнике»
Полный путь к файлу в адресной строке «Проводника» можно легко скопировать его из адресной строки при включённом «Режиме разработчика»

Недоступные пункты для портала и обнаружения устройств

Если оказались не кликабельными первые два параметра для портала и обнаружения устройств, возможно, ваш компьютер не поддерживает данную функцию.

Неактивные пункты для портала и обнаружения устройств
Пункты «Включить портал устройств» и «Обнаружение устройств» могут быть некликабельны из-за того, что данный компьютер не поддерживат функцию

Причина может быть также в версии Windows и установленных обновлениях. Попробуйте сделать откат до предыдущей версии ОС, удалив последнее обновление. Для этого вы можете воспользоваться встроенным средством Windows для восстановления системы (инструкция в разделе ниже) либо же вручную удалить обновление:

  1. Откройте плитку «Обновление и безопасность» в меню «Параметры». Во вкладке «Центр обновления Windows» нажмите на ссылку «Просмотреть журнал установленных обновлений».
    Центр обновления Windows
    Кликните по ссылке «Просмотреть журнал установленных обновлений»
  2. Теперь жмём на первый пункт, чтобы избавиться от недавнего апдейта в дополнительном окне.
    Ссылка «Удалить обновления»
    Нажмите на ссылку «Удалить обновления», чтобы перейти в новое окно
  3. В новом окне кликните правой клавишей мышки по последнему обновлению (первый пункт в списке) и нажмите на «Удалить».
    Удаление обновления
    Нажмите на пункт правой кнопкой мыши и выберите «Удалить»
  4. Подтвердите действие, нажав на «Да».
    Подтверждение удаления
    Подтвердите своё намерение удалить обновление
  5. Попытайтесь снова включить «Режим разработчика».

Ошибка «некоторыми параметрами компьютера управляет организация»

В начале страницы для включения режима может появиться надпись «Некоторыми параметрами компьютера управляет организация» после попытки активировать среду в окне с параметрами системы. При этом часть важных функций действительно оказывается недоступна, к большому сожалению пользователей (по ним нельзя щёлкнуть мышью, как и по кнопке «Показать параметры»).

Это может быть вызвано изменениями в реестре и в локальных групповых политиках, которые пользователь ранее вносил на девайсе. В результате некоторые важные системные файлы могли быть удалены, что привело к сбою. Если вы не помните, что именно меняли, попробуйте сделать откат с помощью средства восстановления:

  1. Кликаем правой клавишей мышки по иконке «Этот компьютер» на «Рабочем столе». В сером меню жмём на пункт «Свойства».
    Пункт «Свойства»
    В контекстном меню иконки «Этот компьютер» нажмите на «Свойства»
  2. В большом окне с информацией об «операционке» и вашем ПК ищем в левой части ссылку «Дополнительные параметры системы». Кликаем по ней.
    Сведения о компьютере
    Кликните по ссылке «Дополнительные параметры системы» в левой части окна
  3. В новом окне переключаемся на вторую вкладку «Защита системы», где щёлкаем по кнопке «Восстановить».
    Окно «Свойства системы»
    Во вкладке «Защита системы» нажмите на кнопку «Восстановить»
  4. Запустится окно для восстановления. Выбираем пункт «Выбрать другую точку восстановления» либо «Рекомендуемое восстановление», если ошибка появилась после недавнего обновления.
    Начальное окно средства восстановления
    В начальном окне средства для восстановления системных файлов кликните по одному из двух пунктов в зависимости от точки восстановления, до которой вы хотите сделать откат
  5. В первом случае выделяем в списке нужную точку левой кнопкой. Не забудьте установить галочку рядом с пунктом для включения показа других точек. Так, вы сможете ознакомиться со всем списком.
    Список точек восстановления
    Выделите кликом левой кнопки мышки необходимую точку восстановления
  6. Щёлкаем по «Далее». На следующей странице жмём на «Готово» для подтверждения.
    Подтверждение точки восстановления
    Кликните по «Готово», чтобы запустить процесс восстановления
  7. Запустится процесс восстановления. Продолжительность процедуры зависит от количества параметров, которые необходимо изменить. После этого устройство перезапустится.

Сбой поиска или установки пакета «режима разработчика» с кодом ошибки 0x80004005

После попытки активировать среду под пунктом может выскочить красное уведомление о том, что система не смогла инсталлировать пакет «Режима разработчика» или что в «Центре обновления» не оказалось данного пакета. Обе ошибки имеют при этом код 0x80004005.

Код ошибки 0x80004005
Если у вас возникла ошибка с кодом 0x80004005, это означает, что серверы Microsoft недоступны в данный момент

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

Если у вас установлены какие-либо сторонние утилиты, которые отключают слежку Windows 10, например, DWS или AntiSpy, деактивируйте их на время. Возможно, именно они блокируют доступ к серверам Microsoft.

Антивирус также может по ошибке блокировать доступ к официальным серверам Microsoft. Чтобы это проверить, необходимо на время его отключить. Программа-защитник всегда должна работать в фоновом режиме, чтобы вовремя обнаружить и обезвредить угрозу, поэтому её значок должен находиться в трее Windows. Рассмотрим отключение на примере Avast:

  1. Отключите среду для разработчиков. Нажмите на значок в виде стрелки, направленной вверх, на «Области уведомлений» в правой части «Панели задач» (это и есть трей Windows).
  2. В маленьком меню жмём на иконку Avast правой клавишей мышки. Теперь наводим курсор на пункт «Управление экранами Avast». В перечне выбираем нужное время для отключения. Достаточно будет выбрать минимальное значение 10 минут.
    Трей Windows
    Отключите Avast через контекстное меню антивируса в трее Windows
  3. В течение этого времени пробуйте включать «Режим разработчика».

Если антивирус не является помехой, проверьте наличие обновлений Windows 10:

  1. Запустите окно «Параметры Windows» с помощью комбинации клавиш Win I либо через панель «Пуск».
  2. В списке выбираем плитку «Обновления и безопасность». Нам нужен первый раздел «Центр обновления Windows». В этой вкладке кликаем по кнопке «Проверка наличия обновлений».
  3. Система ту же запустит поиск.
    Проверка наличия обновлений
    Подождите, пока система найдёт доступный апдейт в сети
  4. Если будет найден доступный апдейт, ОС сама его загрузит и установит. Ход инсталляции будет показан в процентах.
    Доступные обновления
    Ждём, когда система сама скачает и установит обновления
  5. После обновления попробуйте снова включить среду для разработчиков.

Если уже установлены все актуальные обновления Windows, проверьте есть ли пакет для «Режима разработчика» в блоке с перечнем дополнительных компонентов:

  1. Снова запускаем «Параметры Windows», но на этот раз кликаем по плитке «Приложения».
  2. В первом блоке жмём на ссылку для открытия списка дополнительных компонентов.
    Приложения и возможности
    Нажмите на ссылку «Управление дополнительными компонентами»
  3. В появившемся списке должен быть пункт «Режим разработчика Windows».
    Пункт «Режим разработчика Windows»
    В перечне должен стоять пункт «Режим разработчика Windows»
  4. Если его нет, Windows не удастся найти правильный пакет для вашего ПК. Кликните по кнопке «Добавить компонент», чтобы система загрузила его.
    Кнопка «Добавить компонент»
    Кликните по «Добавить компонент», чтобы загрузить пакет для «Режим разработчика»
  5. После добавления пакета попробуйте снова активировать режим.

«Режим разработчика» полезен как для специалистов IT, так и обычным юзерам, которые хотят установить надёжное приложение без подписи Microsoft. Включить среду можно разными способами. Самый простой — в меню «Параметры Windows». Если не удаётся активировать там, воспользуйтесь редакторами реестра и групповых политик.

Семейство windows nt

Основная статья: Windows NTПапка средств отладки windows 10

:/>  Как изменить МАК адрес компьютера Windows 10

Операционные системы этого семейства в настоящее время работают на процессорах с архитектурами x86, x86-64, Itanium, ARM. Ранние версии (до 4.0 включительно) также поддерживали некоторые RISC-процессоры: Alpha, MIPS и PowerPC. Все операционные системы этого семейства являются полностью 32- или 64-битными и не нуждаются в MS-DOS даже для загрузки.

Папка средств отладки windows 10Папка средств отладки windows 10Папка средств отладки windows 10Папка средств отладки windows 10Папка средств отладки windows 10Папка средств отладки windows 10

Только в этом семействе представлены операционные системы для серверов. До версии Windows 2000 включительно они выпускались под тем же названием, что и аналогичная версия для рабочих станций, но с добавлением суффикса, например «Windows NT 4.0 Server» и «Windows 2000 Datacenter Server». Начиная с Windows Server 2003 серверные операционные системы называются добавлением суффикса «Server» и года выпуска.

В основу семейства Windows NT положено разделение адресных пространств между процессами. Каждый процесс имеет возможность работать с выделенной ему памятью. Однако он не имеет прав для записи в память других процессов, драйверов и системного кода.

Семейство Windows NT относится к операционным системам с вытесняющей многозадачностью. Разделение процессорного времени между потоками происходит по принципу «карусели». Ядро операционной системы выделяет квант времени (в Windows 2000 квант равен примерно 20 мс) каждому из потоков по очереди при условии, что все потоки имеют одинаковый приоритет.

Поток может отказаться от выделенного ему кванта времени. В этом случае система перехватывает у него управление (даже если выделенный квант времени не закончен) и передаёт управление другому потоку. При передаче управления другому потоку система сохраняет состояние всех регистров процессора в особой структуре в оперативной памяти.

Через «редактор реестра»

Редактирование реестра Windows — не самая простая задача, с которой могут не справиться начинающие пользователи ПК. Тем не менее о способе необходимо знать и по возможности научиться его применять, так как он работает для всех версий «десятки», включая «Домашнюю». Чтобы немного облегчить задачу, подробно и доступно опишем все действия:

  1. Самый быстрый способ запустить редактор — через окошко «Выполнить». Вызываем его двумя клавишами Win R: одновременно зажимаем их. В строке «Открыть» пишем или вставляем предварительно скопированный код regedit.
    Окно «Выполнить»
    В окне «Выполнить» пишем команду regedit
  2. В следующем окне, которое откроет ОС, разрешаем редактору вносить изменения на вашем устройстве: кликаем по кнопке «Да».
    Разрешение на внесение изменений
    Разрешите редактору вносить изменения на вашем устройстве, кликнув по «Да»
  3. В левой колонке редактора нас интересует третья ветка HKEY_LOCAL_MACHINE. Запускаем её двойным кликом.
    Окно «Редактор реестра»
    Открываем третью главную ветку в левой части окна
  4. Далее, необходимо переходить по очереди в следующий разделы в той же левой части окна: SOFTWARE — Microsoft — Windows — CurrentVersion — AppModelUnlock.
    Папка AppModelUnlock
    Последней открытой папкой в левой части окна должна быть AppModelUnlock
  5. В последней запущенной папке будет две записи. Кликаем дважды по первой с названием AllowAllTrustedApps и ставим в маленьком сером окошке цифру 1 в качестве значения (это активирует запись). Для сохранения всех изменений щёлкаем по ОК.
    Изменение значение для записи
    В поле «Значение» напишите 1 и нажмите на ОК, чтобы сохранить изменения
  6. Повторяем то же действие для другой записи.
  7. Теперь закрываем все окна, запущенные на ПК, и перезагружаем устройство.

Поменять значение тех же параметров реестра можно и с помощью консоли «Командная строка». Как её запустить и какие коды в ней вводить?

  1. Консоль открываем через панель «Поиск». Кликаем по иконке в виде лупы, а в строке внизу пишем запрос «Командная строка» или cmd.
    Поиск Windows
    Введите в строку запрос «Командная строка»
  2. В результатах поиска жмём на пункт правой клавишей мышки и в сером меню выбираем «Запуск от имени администратора».
    Запуск от имени администратора
    Нажмите на пункт «Запуск от имени администратора» в сером меню
  3. В чёрном редакторе вставляем команду reg add ″HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionAppModelUnlock″ /t REG_DWORD /f /v ″AllowAllTrustedApps″ /d ″1″ и нажимаем на Enter.
    Командная строка
    В «Командной строке» выполняем по очереди два кода для включения параметров реестра, связанных с «Режимом разработчика»
  4. После её выполнения вставляем другой код: reg add ″HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionAppModelUnlock″ /t REG_DWORD /f /v ″AllowDevelopmentWithoutDevLicense″ /d ″1″. Также, жмём на Enter.
  5. Закрываем все окна и перезапускаем ПК.

Эксперимент: отображение информации о типах для структур ядра.

Чтобы вывести список структур ядра, чей тип информации включен в символы ядра, наберите в отладчике ядра команду dt nt!_*. Частичный образец вывода имеет следующий вид:

lkd> dt nt!_*

nt!_LIST_ENTRY

nt!_LIST_ENTRY

nt!_IMAGE_NT_HEADERS

nt!_IMAGE_FILE_HEADER

nt!_IMAGE_OPTIONAL_HEADER

nt!_IMAGE_NT_HEADERS

nt!_LARGE_INTEGER

Командой dt можно также воспользоваться для поиска определенных структур, используя заложенную в эту команду возможность применения символов-заместителей. Например, если ведется поиск имени структуры для объекта interrupt, нужно набрать команду dt nt!_*interrupt*:

lkd> dt nt!_*interrupt*

nt!_KINTERRUPT

nt!_KINTERRUPT_MODE

nt!_KINTERRUPT_POLARITY

nt!_UNEXPECTED_INTERRUPT

Затем, как показано в следующем примере, команду dt можно использовать для форматирования определенной структуры:

lkd> dt nt!_kinterrupt

nt!_KINTERRUPT

0x000 Type : Int2B

0x002 Size : Int2B

0x008 InterruptListEntry : _LIST_ENTRY

0x018 ServiceRoutine : Ptr64 unsigned char

0x020 MessageServiceRoutine : Ptr64 unsigned char

0x028 MessageIndex : Uint4B

0x030 ServiceContext : Ptr64 Void

0x038 SpinLock : Uint8B

0x040 TickCount : Uint4B

0x048 ActualLock : Ptr64 Uint8B

0x050 DispatchAddress : Ptr64 void

0x058 Vector : Uint4B

0x05c Irql : UChar

0x05d SynchronizeIrql : UChar

0x05e FloatingSave : UChar

0x05f Connected : UChar

0x060 Number : Uint4B

0x064 ShareVector : UChar

0x065 Pad : [3] Char

0x068 Mode : _KINTERRUPT_MODE

0x06c Polarity : _KINTERRUPT_POLARITY

0x070 ServiceCount : Uint4B

0x074 DispatchCount : Uint4B

0x078 Rsvd1 : Uint8B

0x080 TrapFrame : Ptr64 _KTRAP_FRAME

0x088 Reserved : Ptr64 Void

0x090 DispatchCode : [4] Uint4B

Следует заметить, что при выполнении команды dt подструктуры (структуры внутри структур) по умолчанию не показываются. Для выполнения рекурсии подструктур нужно воспользоваться ключом –r. Например, воспользоваться этим ключом для вывода объекта прерывания ядра с показом формата структуры _LIST_ENTRY, хранящейся в поле InterruptListEntry:

lkd> dt nt!_kinterrupt -r

nt!_KINTERRUPT

0x000 Type : Int2B

0x002 Size : Int2B

0x008 InterruptListEntry : _LIST_ENTRY

0x000 Flink : Ptr64 _LIST_ENTRY

0x000 Flink : Ptr64 _LIST_ENTRY

0x008 Blink : Ptr64 _LIST_ENTRY

0x008 Blink : Ptr64 _LIST_ENTRY

0x000 Flink : Ptr64 _LIST_ENTRY

0x008 Blink : Ptr64 _LIST_ENTRY

В файле справки Debugging Tools for Windows также объясняется, как настраиваются и используются отладчики ядра. Дополнительные подробности использования отладчиков ядра, предназначенные непосредственно для создателей драйверов устройств, могут быть найдены в документации по набору Windows Driver Kit.

Оставьте комментарий

Adblock
detector