- Отладка программ Debug programs
- Справочные материалы Reference
- Возможные значения Possible values
- Рекомендации Best practices
- Location Location
- Значения по умолчанию Default values
- Управление политикой Policy management
- Групповая политика Group Policy
- Вопросы безопасности Security considerations
- Уязвимость Vulnerability
- Противодействие Countermeasure
- Возможное влияние Potential impact
- Настраиваем бесплатную сборку для написания и отладки программ под микроконтроллеры на основе ядра ARM под Windows 10
- Оглавление
- Постановка задачи
- Выбор программных средств реализации
- Ставим Eclipse Neon 3
- Установка Debugging Tools for Windows
- Установка Debugging Tools for Windows при помощи web-инсталлятора
- Установка Debugging Tools for Windows с ISO-образа Windows SDK
- Установка Debugging Tools for Windows через .msi файл
- Дополнительные сведения
- Состав Debugging Tools for Windows
Отладка программ Debug programs
Область применения Applies to
В этой статье описываются лучшие методики, расположение, значения, **** управление политиками и вопросы безопасности для параметра политики безопасности программ отлаки. Describes the best practices, location, values, policy management, and security considerations for the Debug programs security policy setting.
Справочные материалы Reference
Этот параметр политики определяет, какие пользователи могут присоединять или открывать любые процессы, даже те, которыми они не владеют. This policy setting determines which users can attach to or open any process, even a process they do not own. Разработчики, которые отладиют собственные приложения, не нуждаются в этом праве пользователя. Developers who are debugging their own applications do not need this user right. Это право пользователя необходимо разработчикам, которые отладит новые компоненты системы. Developers who are debugging new system components need this user right. Это право пользователя предоставляет доступ к конфиденциальным и критически важным компонентам операционной системы. This user right provides access to sensitive and critical operating-system components.
Константа: SeDebugPrivilege Constant: SeDebugPrivilege
Возможные значения Possible values
- Определяемый пользователей список учетных записей User-defined list of accounts
- Не определено Not defined
Рекомендации Best practices
- Назначьте это право только доверенным пользователям, чтобы уменьшить уязвимости системы безопасности. Assign this user right only to trusted users to reduce security vulnerabilities.
Location Location
Computer Configuration\Windows Settings\Security Settings\Local Policies\User Rights Assignment Computer Configuration\Windows Settings\Security Settings\Local Policies\User Rights Assignment
Значения по умолчанию Default values
По умолчанию это право имеют члены группы «Администраторы». By default, members of the Administrators group have this right.
В следующей таблице перечислены фактические и эффективные значения политики по умолчанию для последних поддерживаемых версий Windows. The following table lists the actual and effective default policy values for the most recent supported versions of Windows. Значения по умолчанию также можно найти на странице свойств политики. Default values are also listed on the policy’s property page.
Тип сервера или объект групповой политики Server type or GPO | Значение по умолчанию Default value |
---|---|
Default Domain Policy Default Domain Policy | Не определено Not defined |
Политика контроллера домена по умолчанию Default Domain Controller Policy | Администраторы Administrators |
Параметры по умолчанию для автономного сервера Stand-Alone Server Default Settings | Администраторы Administrators |
Действующие параметры по умолчанию для контроллера домена Domain Controller Effective Default Settings | Администраторы Administrators |
Действующие параметры по умолчанию для рядового сервера Member Server Effective Default Settings | Администраторы Administrators |
Действующие параметры по умолчанию для клиентского компьютера Client Computer Effective Default Settings | Администраторы Administrators |
Управление политикой Policy management
В этом разделе описываются функции и средства, которые помогут вам управлять этой политикой. This section describes features and tools that are available to help you manage this policy.
Перезапуск устройства не требуется для того, чтобы этот параметр политики был эффективным. A restart of the device is not required for this policy setting to be effective.
Изменения прав пользователя вступают в силу при его следующем входе в учетную запись. Any change to the user rights assignment for an account becomes effective the next time the owner of the account logs on.
Групповая политика Group Policy
Параметры применяются в следующем порядке с помощью объекта групповой политики (GPO), который будет перезаписывать параметры на локальном компьютере при следующем обновлении групповой политики: Settings are applied in the following order through a Group Policy Object (GPO), which will overwrite settings on the local computer at the next Group Policy update:
- Параметры локальной политики Local policy settings
- Параметры политики сайта Site policy settings
- Параметры политики домена Domain policy settings
- Параметры политики подразделения OU policy settings
Если локальный параметр затеняется, это означает, что в настоящее время этот параметр контролируется GPO. When a local setting is greyed out, it indicates that a GPO currently controls that setting.
Вопросы безопасности Security considerations
В этом разделе описывается, каким образом злоумышленник может использовать компонент или его конфигурацию, как реализовать меры противодействия, а также рассматриваются возможные отрицательные последствия их реализации. This section describes how an attacker might exploit a feature or its configuration, how to implement the countermeasure, and the possible negative consequences of countermeasure implementation.
Уязвимость Vulnerability
Право пользователя программы отлаки можно использовать для захвата конфиденциальной информации об устройстве из системной памяти, а также для доступа и изменения структуры ядра или приложений. The Debug programs user right can be exploited to capture sensitive device information from system memory or to access and modify kernel or application structures. Некоторые средства атаки используют это право пользователя для извлечения паролей с использованием hashed и других закрытых сведений о безопасности или для вставки вредоносных программ. Some attack tools exploit this user right to extract hashed passwords and other private security information or to insert malware. По умолчанию право пользователя программ отлаки назначено только администраторам, что помогает снизить риск этой уязвимости. By default, the Debug programs user right is assigned only to administrators, which helps mitigate risk from this vulnerability.
Противодействие Countermeasure
Удалите учетные записи всех пользователей и **** групп, для работы с которые не требуется право пользователя программ отлаки. Remove the accounts of all users and groups that do not require the Debug programs user right.
Возможное влияние Potential impact
Если вы отзовете это право пользователя, никто не сможет отлалать программы. If you revoke this user right, no one can debug programs. Однако в типичных обстоятельствах редко требуется эта возможность на производственных устройствах. However, typical circumstances rarely require this capability on production devices. Если возникает проблема, требуемая отладки приложения на производственном сервере, можно временно переместить сервер в другое подразделение **** и назначить пользователю программ отладки право на отдельную групповую политику для этого подразделения. If an issue arises that requires an application to be debugged on a production server, you can move the server to a different organizational unit (OU) temporarily and assign the Debug programs user right to a separate Group Policy for that OU.
Настраиваем бесплатную сборку для написания и отладки программ под микроконтроллеры на основе ядра ARM под Windows 10
Идея написать статью (которая войдет в цикл статей для новичков, остро жаждущих создавать что-то на микроконтроллерах при почти нулевых знаниях в области программирования в принципе) пришла мне после того, как мне пришлось немного отвлечься от своих основных дел, чтобы помочь другу настроить рабочую среду для написания софта под его небольшой домашний проект на основе board-а с stm32f103 на борту. Я рассчитывал, что это займет около получаса, максимум час, но ноутбук друга был на Windows 10 x64, что для меня уже непривычно (сам работаю в Ubuntu). По итогу мы потратили практически 8 часов на настройку и создание простого проекта, борясь с многими не очевидными вещами.
Параллельно с этим мне пришлось подробно объяснять, какой элемент сборки для чего нужен, а так же, как эти элементы взаимодействуют между собой, поскольку друг до этого никогда ранее с микроконтроллерами не сталкивался (от слова «видел Arduino в магазине»).
Данный материал призван помочь начинающим быстро и без проблем настроить полностью бесплатную инфраструктуру для работы с микроконтроллерами, а так же понять, каким образом происходит сборка итогового бинарного файла. Производитель и модель микроконтроллера на этапе настройки этой инфраструктуры неважны. Главное, чтобы в его основе лежало ядро ARM.
Оглавление
- Постановка задачи.
- Выбор программных средств реализации.
- Ставим Eclipse Neon 3.
- Скачиваем установщик Eclipse.
- Устанавливаем JRE.
- Устанавливаем Eclipse.
- Устанавливаем в Eclipse плагин GNU ARM Eclipse.
- Патчим JRE (на случай появления ошибки при установке плагина).
- Устанавливаем GNU ARM Eclipse Windows Build Tools.
- Скачиваем и устанавливаем GNU ARM Embedded Toolchain.
- Устанавливаем OpenOCD.
- Устанавливаем драйвера на st-link v2.
- Разбираемся, как все это работает.
- Заключение.
Постановка задачи
Выбор программных средств реализации
Для решения поставленных задач нам потребуются следующие программные продукты:
- Eclipse Neon 3 для C/C++ (самая последняя версия на момент написания статьи). Будет использована нами как IDE (текстовый редактор с удобным авто дополнением + удобства по взаимодействию со средствами отладки), в которой мы будем писать код.
- JRE (на момент написания статьи, самая последняя версия 1.8.0). Без него не запустится установщик Eclipse (ну и сам Eclipse).
- GNU ARM Embedded Toolchain (на момент написания статьи, самой последней версией был 5_4-2016q3-20160926). Это комплекс нужных нам программных решений (таких как компилятор C кода «gcc», C++ кода «g++», линкер — «ld», средство загрузки и отладки финальной прошивки — «gdb» и многие другие), благодаря которым мы получим из наших файлов с исходным кодом файл с разрешением «.elf», представляющий из себя бинарный файл прошивки микроконтроллера, который в последствии будет загружен в микроконтроллер (об этом ниже).
- OpenOCD 0.10.0. С помощью него мы будем загружать наш «.elf» файл программы в микроконтроллер (на деле, OpenOCD предоставляет связь между gdb из указанного выше toolchain-а и отладчиком).
Помимо перечисленных средств, нам нужно будет поставить еще несколько небольших пакетов, о которых я скажу уже непосредственно в процессе установки.
Ставим Eclipse Neon 3
Как говорилось выше, для того, чтобы писать код, нам нужен текстовый редактор, в котором было бы удобно писать (различные методы авто-дополнения, поиска по проекту, навигация по файлам и т.д). А после того, как мы написали код, было бы неплохо, чтобы его компиляция, сборка и исполнение — были бы делом пары комбинаций клавиш (или кликов мышью, кому как удобно).
Для этих целей я использую Eclipse. Помимо редактора, он представляет еще возможность подключения различных расширений, которые значительно упрощают жизнь разработчика, сводя всю рутинную работу (сборку, компоновку, загрузку программы в контроллер) к паре кликов/нажатий.
Установка Debugging Tools for Windows
Debugging Tools for Windows — Инструменты отладки кода операционных систем Windows. Представляют собой набор свободно распространяемых программ от Microsoft, предназначенных для отладки кода пользовательского режима и режима ядра: приложений, драйверов, служб, модулей ядра. В состав инструментария входят отладчики консольного и GUI- режимов, утилиты для работы с символами, файлами, процессами, утилиты для обеспечения удаленной отладки. Инструментарий содержит в себе утилиты, с помощью которых можно находить причины сбоев в различных компонентах системы. Debugging Tools for Windows с определенного момента недоступны для скачивания в форме автономного дистрибутива и входят в состав Windows SDK (Windows Software Development Kit). Набор инструментальных средств Windows SDK, в свою очередь, доступен в виде части программы подписки MSDN или же может быть свободно загружен в качестве отдельного дистрибутива с сайта msdn.microsoft.com. По заявлению разработчиков, последняя и самая актуальная версия Debugging Tools for Windows содержится именно в Windows SDK.
Debugging Tools for Windows обновляются и выкладываются в публичный доступ достаточно часто и процесс этот никак не зависит от выпуска операционных систем. Поэтому, периодически проверяйте наличие новых версий.
Давайте теперь посмотрим, что же, в частности, позволяют нам средства Debugging Tools for Microsoft Windows:
- Отлаживать локальные приложения, службы (сервисы), драйвера и ядро;
- Отлаживать по сети удаленные приложения, службы (сервисы), драйвера и ядро;
- Отлаживать работающие приложения в режиме реального времени;
- Анализировать файлы дампов памяти приложений, ядра и системы в целом;
- Работать с системами на базе архитектур x86/x64/Itanium;
- Отлаживать программы пользовательского режима и режима ядра;
Доступны следующие версии Debugging Tools for Windows: 32-bit x86, Intel Itanium, 64-bit x64. Нам потребуются две из них: x86 либо x64.
Доступны несколько способов установки Debugging Tools for Windows, в данной же статье мы будем рассматривать лишь основные из них:
- Установка посредством web-инсталлятора.
- Установка Debugging Tools for Windows с ISO-образа Windows SDK.
- Установка Debugging Tools for Windows непосредственно из пакетов dbg_amd64.msi / dbg_x86.msi .
Остается неясен еще во какой момент, зачем мне инсталлировать отладочный инструментарий на компьютер? Зачастую ведь сталкиваешься с ситуацией, когда вмешательство в рабочую среду крайне нежелательно! И уж тем более что инсталляция нового продукта, то есть внесение изменений в реестр/файлы системы, может быть совершенно недопустима. Примерами могут служить критически-важные сервера. Почему бы разработчикам не продумать вариант с портабельными (portable) версиями приложений, не требующих установки?
От версии к версии процесс установки пакета Debugging Tools for Windows претерпевает некоторые изменения. Давайте теперь перейдем непосредственно к процессу установки и рассмотрим способы, которыми можно установить инструментарий.
Установка Debugging Tools for Windows при помощи web-инсталлятора
Переходим на страницу Архив Windows SDK и находим раздел под названием Windows 10 и ниже пункт «Windows 10 SDK (10586) и эмулятор устройства с Windows 10 Mobile (Майкрософт) (версия 10586.11)».
Щелкаем по пункту УСТАНОВИТЬ ПАКЕТ SDK . После щелчка скачиваем и запускаем файл sdksetup.exe , который и инициирует процесс онлайн-установки Windows SDK. На начальном этапе инсталятор проверит наличие в системе установленного пакета .NET Framework последней версии (в данный момент это 4.5). Если пакет отсутствует, что будет предложена установка и по окончании выполнена перезагрузка станции. Сразу после перезагрузки, на этапе авторизации пользователя, стартует процесс инсталляции уже непосредственно Windows SDK.
Зачастую, при выборе всех без исключения компонентов пакета, в процессе установки могут возникнуть ошибки. В этом случае рекомендуется устанавливать компоненты выборочно, минимально необходимый набор.
После завершения инсталляции Debugging Tools for Windows расположение файлов отладки при данном методе инсталляции у нас будет следующим:
- 64-битные версии: C:\Program Files (x86)\Windows Kits\x.x\Debuggers\x64
- 32-битные версии: C:\Program Files (x86)\Windows Kits\x.x\Debuggers\x86
* где x.x — определенная версия комплекта разработки;
Заметили, что версии 8 и выше, пути инсталляции заметно отличаются от классических для всех предыдущих версий средств отладки?
Огромным плюсом данного способа установки Debigging Tools for Windows является установка версий отладочных средств сразу всех архитектур.
Установка Debugging Tools for Windows с ISO-образа Windows SDK
Данный метод подразумевает установку Debugging Tools for Windows с использованием полного инсталляционного образа Windows SDK (Software Developers Kit). До определенного времени, скачать образ ISO для соответствующей системы можно было на странице Архив Windows SDK. Однако, в данный момент, получить ISO-образ SDK можно через запуск web-инсталлятора sdksetup.exe , и выбора пункта Download the Windows Software Development Kit в стартовом окне инсталлятора:
Как было выяснено, предыдущий метод установки при помощи веб-инсталлятора достаточно капризен и зачастую завершается ошибкой. На чистых системах устанавливается без проблем, однако на достаточно уже нагруженных возникают многочисленные проблемы. Если у Вас именно такой случай, то воспользуйтесь данным методом.
Соответственно, на странице необходимо подобрать требуемый дистрибутив, для меня (да и думаю для многих) в данный момент это «Пакет Windows SDK для Windows 7 и .NET Framework 4» и чуть ниже нажать на ссылку «Получить ISO-образ DVD-диска».
При работе с сайтом msdn.microsoft.com советую воспользоваться браузером Internet Explorer, поскольку были замечены случаи неработоспособности конкурирующих продуктов!
Далее у нас имеется выбор между тремя вариантами образа:
Имя | Назначение |
---|---|
GRMSDK_EN_DVD.iso | Образ SDK для систем с архитектурой x86 (32-битных). |
GRMSDKIAI_EN_DVD.iso | Образ SDK для систем с архитектурой ia64. |
GRMSDKX_EN_DVD.iso | Образ SDK для систем с архитектурой x64 (64-битных). |
Соответственно, необходимо выбрать исключительно по необходимости. Обычно разрядность Debugging Tools for Windows совпадает с разрядностью системы. У меня исследуемые системы, в основном, 64-битные, поэтому я в большинстве случаев скачиваю образ для 64-битной системы GRMSDKX_EN_DVD.iso .
Затем, после скачивания образа, нам необходимо с имеющимся ISO-образом как-то работать. Традиционным способом является, конечно же, запись компакт-диска, но ведь это достаточно долгий и иногда затратный метод. Предлагаю воспользоваться бесплатными утилитами по созданию в системе виртуальных дисковых устройств. Лично я для этой цели предпочитаю пользоваться программой DEAMON Tools Lite. У кого-то могут быть и другие предпочтения, более прямые или легковесные утилиты, на вкус и цвет, как говорится.. После инсталляции DAEMON Tools Lite, я просто щелкаю два раза на файл образа GRMSDKX_EN_DVD.iso и в системе у меня появляется новый виртуальный компакт диск:
Уже затем двойным щелчком активирую автозагрузку и запускаю инсталляцию Windows SDK:
Когда подходит очередь выбирать устанавливаемые компоненты из списка, то отключаем абсолютно все опции кроме помеченных на скриншоте. Это поможет избежать ненужных нам сейчас ошибок.
Все именно так, на скриншоте отмечено две опции: «Windows Performance Toolkit» и «Debugging Tools for Windows». Выбирайте обе, потому как Windows Performance Toolkit Вам непременно пригодится в работе! Далее, после нажатия кнопки «Next» инсталляция продолжается в обычном режиме. И в конце вы увидите надпись «Installation Complete».
По окончании инсталляции рабочие директории комплекта Debugging Tools for Windows будут следующими:
- Для версии x86: C:\Program Files (x86)\Debugging Tools for Windows (x86)
- Для версии x64: C:\Program Files\Debugging Tools for Windows (x64)
На этом установку Debugging Tools for Windows можно считать оконченной.
Установка Debugging Tools for Windows через .msi файл
В случае возникновения проблем при инсталляции Debugging Tools for Windows двумя предыдущими способами, у нас в запасе остается еще один, самый надежный и проверенный временем, выручавший, так сказать, не раз. Когда-то, до интеграции в Windows SDK, Debugging Tools for Windows были доступны в виде отдельного инсталлятора .msi, который и сейчас можно найти, однако уже в недрах дистрибутива Windows SDK. Поскольку у нас на руках имеется уже ISO-образ Windows SDK, то мы можем не монтировать его в систему, а просто открыть при помощи всем уже хорошо знакомого архиватора WinRAR, ну или любого другого продукта, работающего с содержимым ISO-дисков.
После открытия образа нам необходимо пройти в каталог «Setup», находящийся в корне и далее выбрать одну из директорий:
- Для установки 64-битной версии: \Setup\WinSDKDebuggingTools_amd64 и распаковать из этого каталога файл dbg_amd64.msi .
- Для установка 32-битной версии: \Setup\WinSDKDebuggingTools и распаковать из этого каталога файл dbg_x86.msi .
Далее, запускаем распакованный только что .msi файл и стартуем установку Debugging Tools for Windows.
По окончании инсталляции рабочие директории комплекта Debugging Tools for Windows будут следующими:
- Для версии x86: C:\Program Files (x86)\Debugging Tools for Windows (x86)
- Для версии x64: C:\Program Files\Debugging Tools for Windows (x64)
На этом установку Debugging Tools for Windows можно считать выполненной.
Дополнительные сведения
Не знаю с чем это связано, быть может с моей невнимательностью, но после инсталляции Отладочных средств для Windows, инсталлятор не прописывает в системную переменную пути Path путь к каталогу с отладчиком. Это накладывает определенные ограничения на запуск различных отладочных задач напрямую из консоли. Поэтому, в случае отсутствия пути, я самостоятельно прописываю в окне Переменные среды путь к отладочным средствам:
- C:\Program Files (x86)\Windows Kits\10\Debuggers\x86
- C:\Program Files (x86)\Windows Kits\10\Debuggers\x64
* В вашем случае пути могут отличаться как по причине использования ОС другой разрядности, так и по причине использования SDK другой версии.
Утилиты пакета Debugging Tools for Windows могут работать в качестве переносных приложений, достаточно просто скопировать с рабочей системы каталог Microsoft Windows Performance Toolkit и использовать его в качестве портабельной версии на рабочем сервере. Но не забывайте учитывать разрядность системы!! Если Вы даже произвели полную инсталляцию пакета на критически-важную систему, то работать можно начинать прямо после инсталляции, перезагрузка не требуется.
Состав Debugging Tools for Windows
И теперь напоследок приведем состав Debugging Tools for Windows: