Отладка систем реального времени - [4]
Программы в ЭСКОРТе имеют нетекстовое представление. Более точно, все программные объекты представлены как объекты базы данных. Средствами БД ЭСКОРТа реализовано хранение предыдущих состояний объектов (и, в частности, значений переменных), откатка, «откатка откатки» и т. п., что позволяет дать в руки программисту мощные средства контролируемого выполнения (пошаговое, с контролем значений переменных, обратное и т. д.). Правда, на сегодняшний день, для современных систем реального времени, средства, предлагаемые в рамках ЭСКОРТа, представляются слишком тяжеловесными (хотя и весьма перспективными).
2.3. Пользовательский интерфейс
Помимо получения необходимой информации отладчик должен предоставить ее в удобном для пользователя виде. Для этого служат интерфейсные команды и функции.
Интерфейс отладчика состоит из:
• графического интерфейса;
• режима комадной строки;
• команд представления данных.
1) Графический интерфейс
Основное требование, предъявляемое к графическому интерфейсу активного отладчика — одновременная визуализация информации об отлаживаемой задаче (например, окно исходного текста, диалоговое окно, окно отображения данных и сообщений). При отладке группы задач, необходимо отображать полную информацию о каждой из них, как это реализовано в X-ray.
2) Режим командной строки
В режиме командной строки отладчик должен предоставлять пользователю возможность редактировать вводимые команды, а также поддерживать хранение ранее введенных команд в некотором буфере с целью их последующего вызова и модификации.
3) Команды представления данных
Приведем некоторые способы представления и хранения данных, реализация которых в значительной степени упрощает работу пользователя:
• История значений.
Хранение ранее отображенных значений позволяет следить за изменением инспектируемого выражения. Значения могут храниться в некотором буфере или файле.
• Внутренний язык отладчика.
Внутренний язык — средство, дающее возможность пользователю определять собственные функции. Кроме этого отладчик может обладать встроенным интерпретатором какого-нибудь известного языка сценариев. Например, VxGDB обладает встроенным TCL-интерпретатором, позволяющим не только определять новые функции обработки данных, но и (при поддержке с целевой стороны) эмулировать ряд функций VxWorks.
• Поддержка разных форматов представления данных.
Уже упоминавшиеся средства отладки (VxGDB, X-Ray) предоставляют возможность вывода интересующего значения в любом числовом или символьном формате. Кроме того, в них имеется поддержка сложных элементов языка, таких как массивы или структуры.
• Поддержка нескольких языков.
Если программа собрана из модулей, написанных на разных языках программирования, то для ее полноценной отладки необходима поддержка всех этих языков. Кроме того, VxGDB поддерживает синтаксис основных языков программирования (C, fortran) для своего внутреннего языка, обеспечивая автоматическую его смену при выполнении функции, реализованной на языке, отличном от текущего.
• Регулярное отображение данных.
При отладке может потребоваться просмотр некоторых данных (или выполнение команд) при каждой остановке задачи.
GDB в данном случае предоставляет следующие возможности:
a. Команда display. После остановки выполнения задачи (но не в случае, когда она завершилась) производится отображение данных, заданных в качестве аргументов этой команды.
b. Команда commands привязывает к точке прерывания, номер которой задан в качестве аргумента, набор действий, которые нужно реализовать отладчику при достижении этой точки прерывания.
2.4. Интеграция со средствами разработки ПО
Обычно, программный продукт проходит стадии разработки, представленные на рис. 3.
Рис. 3. Стадии разработки ПО
В [24] описан способ, позволяющий уменьшить общее время разработки программного продукта за счет объединения средств тестирования и отладки. Такую возможность предоставляет отладчик Pilot (Kvatro Telecom). Подобное совмещение обладает следующими преимуществами: сразу выявляются ошибки в тесте; имеется возможность генерировать тесты в процессе отладки; результаты теста сразу обрабатываются и в случае ошибки передаются отладчику, который интерактивно воспроизводит этот тест. Средства поддержки отладки могут закладываться на стадии написания исходного текста и компиляции. Во время написания исходного текста в программный продукт может закладываться псевдо-агент — набор функций, осуществляющих некоторые отладочные действия. Для отладки с использованием исходных текстов приложения, необходимо при компиляции генерировать дополнительную информацию, состоящую из описаний символов программы (переменные, функции, типы) и псевдо-символов, позволяющих отладчику определять адреса строк исходного текста, адреса секций, и т.д.
3. Средства мониторинга
3.1. Архитектура средств мониторинга
Архитектура средств мониторинга в общем случае совпадает с архитектурой средств активной отладки, с той лишь разницей, что агенту отладки запрещено останавливать отлаживаемую задачу и модифицировать ее данные. Вообще, основное требование к средствам мониторинга — сбор данных с минимальным вмешательством в работу целевой системы. Для этого агенту отладки нужно как можно реже обращаться к менеджеру, то есть хранить полученные данные в некотором буфере и пересылать их по мере заполнения буфера. Кроме того, при пересылке данных можно производить их фильтрацию или сортировку в соответствие с некоторым критерием значимости.

Сценарии командной оболочки помогают системным администраторам и программистам автоматизировать рутинные задачи с тех самых пор, как появились первые компьютеры. С момента выхода первого издания этой книги в 2004 году многое изменилось, однако командная оболочка bash только упрочила свои лидирующие позиции. Поэтому умение использовать все ее возможности становится насущной необходимостью для системных администраторов, инженеров и энтузиастов. В этой книге описываются типичные проблемы, с которыми можно столкнуться, например, при сборке программного обеспечения или координации действий других программ.

Книга адресована программистам, работающим в самых разнообразных ОС UNIX. Авторы предлагают шире взглянуть на возможности параллельной организации вычислительного процесса в традиционном программировании. Особый акцент делается на потоках (threads), а именно на тех возможностях и сложностях, которые были привнесены в технику параллельных вычислений этой относительно новой парадигмой программирования. На примерах реальных кодов показываются приемы и преимущества параллельной организации вычислительного процесса.

Применение виртуальных машин дает различным категориям пользователей — от начинающих до IT-специалистов — множество преимуществ. Это и повышенная безопасность работы, и простота развертывания новых платформ, и снижение стоимости владения. И потому не случайно сегодня виртуальные машины переживают второе рождение.В книге рассмотрены три наиболее популярных на сегодняшний день инструмента, предназначенных для создания виртуальных машин и управления ими: Virtual PC 2004 компании Microsoft, VMware Workstation от компании VMware и относительно «свежий» продукт — Parallels Workstation, созданный в компании Parallels.

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

В современной деловой среде все более важной становится эффективность совместной работы. Службы SharePoint – компонент Windows Server 2003, бесплатно доступный для скачивания, – помогают в решении этой задачи, предоставляя мощный набор инструментов для организации данных, управления документами, повышения эффективности бизнес-процессов и создания надежной среды взаимодействия. Эта книга научит вас использовать службы Windows SharePoint для организации совместной работы. Вы узнаете, как создавать собственные узлы SharePoint при помощи шаблонов, списки и библиотеки для хранения информации; добавлять электронные доски обсуждений, вики-узлы и блоги; настраивать рабочие области документов и собраний; использовать календари, контактную информацию и другие данные совместно с программами из пакета Microsoft Office и многое другое, что поможет рабочим группам легко взаимодействовать друг с другом.Для пользователей любого уровня подготовки, желающих самостоятельно освоить Microsoft Windows SharePoint Services 3.0.