- •Вопросы:
- •Лекция №5-6. Базовые элементы платформы приложений су для построения интерфейса пользователя. Концепция открытой модульной архитектуры в приложениях прикладного программного обеспечения
- •Компоненты каркаса
- •Конфигурирование компонентов в составе системы
- •Вопросы
- •Лекция №9-10. Принципы классификации прикладных компонентов систем управления. Принцип трехуровневого конфигурирования компонентов в приложениях су. Инструменты конфигурирования и их принципы работы.
- •Виртуальная структура прикладной области
- •Преобразование исходных кодов в новый формат языков .Net
- •Обобщенно использование двоичных компонентов заключается в следующем:
- •Вопросы
- •Лекция №13-14. Инструменты отладки приложений в .Net Framework 2.0 и выше.
- •Сборка мусора в .Net Framework
- •Причины смешивания управляемого и неуправляемого кодов
- •2. В чём заключается Концепция CoDeSys?
- •Для высших стандартов качества системы существует три аспекта:
- •Интерфейс PlcHandler предоставляет следующие функции и сервисы:
- •Реализация opc компонентов диагностики для контроллеров CoDeSys sp
- •Вопросы
- •Каскадный жизненный цикл
- •Тестирование, верификация и валидация - различия в понятиях
- •Задачи и цели процесса верификации
- •2) Сценарии на формальных языках
- •Принцип использования коммерческих приложений для тестирования пользовательского интерфейса
- •Обзор Quickt Test. Основные понятия
- •Использование объекта DataTable и параметризация
- •Распознавание объектов в qtp и уникальность их свойств
- •5. Использование объекта DataTable и параметризация
- •6. Распознавание объектов в qtp и уникальность их свойств
- •5. Практический (лабораторный) комплекс Лабораторная работа №1
- •Лабораторная работа №2
- •Лабораторная работа № 3
- •6. Перечень тестовых вопросов для промежуточного и итогового контроля
- •197.Группа компьютеров, связанных каналами передачи информации и находящихся в пределах территории, ограниченной небольшими размерами: комнаты, здания, предприятия, называется:
Вопросы
Возможности перехода исходных кодов языка C++ на платформу .Net.
Способ взаимодействия .NET c COM сервисом.
Способ взаимодействие COM клиента c сервисом .NET.
Использование библиотек неуправляемого кода в .NET.
Лекция №13-14. Инструменты отладки приложений в .Net Framework 2.0 и выше.
Утилиты: WinDbg + SOS, adplus.vbs Debug Diagnostic Tool v1.1; Reflector; CLR Profiler for the .NET Framework 2.0, или более удобный JetBrains dotTrace.WinDbg.
Microsoft Windows Debugger (далее по тексту просто WinDeb) входит в состав множества продуктов: Platform SDK, DDK, WDF, а также поставляется вместе с самостоятельным пакетом «Debugging Tools for Windows», занимающим чуть больше 15 Мб. Причем версия WinDeb из комплекта «Debugging Tools for Windows» обычно самая свежая и содержит наибольшее количество всяких полезных расширений. Скачать ее можно с официального сайта Microsoft. WinDbg.exe - представляет собой типичное GUI-приложение, довольствующееся одним компьютером и позволяющее отлаживать прикладные программы, анализировать дампы памяти, следить за (шпионить) событиями, происходящими в системе. Для отладки драйверов требуется второй компьютер, соединенный сетью или шнурком, но мы обойдемся и без шнурка. SOS Расширение отладки SOS (SOS.dll) помогает отлаживать управляемые программы в отладчике WinDbg.exe и в Visual Studio, предоставляя информацию о внутренней общеязыковой среде выполнения (CLR).Для работы с расширением отладки SOS его следует загрузить в отладчик WinDbg.exe или в Visual Studio 2005. Команды можно выполнять в среде WinDgb.exe или в окне интерпретации Visual Studio.Расширение отладки SOS позволяет просматривать информацию о коде, выполняемом в общеязыковой среде выполнения. Например, с помощью расширения отладки SOS можно получать сведения об управляемой куче, искать повреждения кучи,отображать внутренние типы данных, используемые средой выполнения, и просматривать информацию о любом управляемом коде, запущенном в среде выполнения.
Загрузка расширения отладки SOS
Чтобы загрузить расширение отладки SOS в отладчик WinDbg.exe, выполните в отладчике показанную ниже команду; чтобы загрузить расширение отладки SOS в Visual Studio, выполните эту команду в окне интерпретации во время отладки: .loadby sos mscorwks.Перед загрузкой расширения отладки SOS необходимо включить отладку неуправляемого кода в настройках проекта решения. В некоторых языковых версиях отладка неуправляемого кода по умолчанию отключается.
Примечание. Чтобы открыть окно интерпретации в Visual Studio 2005, откройте меню Отладка, откройте меню Окна и выберите пункт Интерпретация. Окно интерпретации Visual Studio можно также открыть, нажав клавиши CTRL-ALT-I.
Примеры: Следующая команда отображает содержимое массива по адресу 00ad28d0. Выводятся данные для пяти элементов массива, начиная со второго. dumparray -start 2 -length 5 -detail 00ad28d0 Следующая команда отображает содержимое сборки по адресу 1ca248.dumpassembly 1ca248.Следующая команда отображает информацию о куче сборщика мусора. Dumphea.Следующая команда записывает содержимое журнала нагрузок в памяти в файл Stresslog.txt, расположенный в текущем каталоге.DumpLog.Следующая команда отображает информацию об объекте по адресу a79d40.DumpObj a79d40ADPlus.
ADPlus - это средство службы технической поддержки Майкрософт (Product Support Services - PSS), предназначенное для устранения неполадок в любом процессе или приложении, в которых произошел сбой (аварийное завершение работы) или которые перестали отвечать («зависли»). Средство ADPlus (ADPlus.vbs) в большинстве случаев можно использовать вместо монитора исключений Microsoft Internet Information (IIS) Server Exception Monitor (6.1/7.1) и дампа процесса пользовательского режима (User Mode Process Dump). Эти два средства часто используются службой технической поддержки для определения причины отсутствия ответа (зависание) или неожиданного (аварийного) завершения работы в среде Microsoft Windows DNA.
Средство ADPlus следует использовать для сбора данных в случае перечисленных ниже проблем.
Процессы, которые перестали отвечать на запросы.
Процессы, которые загружают процессор на 100% для однопроцессорного компьютера, на 50% - для компьютера с двумя процессорами, на 25% - для компьютера с четырьмя процессорами и т.д.
Процессы, которые неожиданно завершают работу.
Debug Diagnostic Tool 1.1
Программа
для диагностики системы с целью выяснения
причин нестабильной работы приложений
и компонентов ОС. Debug Diagnostic Tool может
помочь в выяснении причин зависания
программ, падения производительности
системы, утечки и фрагментации оперативной
памяти, остановки из-за ошибки
пользовательских приложений. Для
определения проблем в программе
используются два метода: снятие образа
оперативной памяти с последующим
анализом и подключение к запущенной
программе специальной библиотеки,
которая ведет наблюдение за распределением
памяти. Кроме того, здесь присутствуют
отладочные скрипты для диагностики
работы Internet Information Services (IIS) приложений
и тестирования работы COM+ компонента и
других, связанных с ним технологий
Microsoft..Net
Reflector. Единственный
существующий браузер классов .NET
компонентов. Эта уникальная утилита
позволяет просматривать мета данные,
IL-инструкции, ресурсы и XML документацию,
сохраненные в .NET сборках. Более того
.NET Reflector является отличным IL-декомпилятором,
который значительно проще и удобнее в
использовании, нежели Microsoft'овский IL
Disassembler. Приложение отлично позволяет
декомпилировать код сборок .NET (exe, dll) в
код IL, C#, VB .NET, и в другие языки (существует
так же поддержка множества plugin'ов).
Например, полезный плагин для рефлектора
– он генерирует проекты для Visual Studio из
сборки, загруженной в рефлектор, думаю
переоценить насколько это полезно очень
сложно. Другой полезный плагин генерирует
граф зависимостей между сборками
Рис.
16
Применение средства дизассемблирования
.Net Reflector
Рис.
17
Плагин
Graph для
.Net Reflector
Лекция № 15-16. С# и С++ в приложениях систем управления.С# и С++ в приложениях систем управления. Управляемый и не управляемый код. Преимущества и недостатки неуправляемого кода. Управление памятью, сборщик мусора в C#. Обработка исключений.
Программный код, выполняющийся под управлением CLR, называется управляемым кодом. Программный код, выполняющийся вне среды выполнения CLR, называется неуправляемым кодом. Представителями неуправляемого программного кода являются:
функции Win32 API;
компоненты COM;
интерфейсы ActiveX.
.NET появилась не первой средой разработки. Вновь разрабатываемый управляемый код вынужден взаимодействовать с существующим неуправляемым программным кодом. Поэтому на платформе .NET предусмотрены различные сценарии установления взаимодействия между управляемым и неуправляемым кодами. Microsoft .NET Framework обеспечивает взаимодействие с компонентами COM, службами COM+, внешними библиотеками типов и многими службами операционной системы.CLR скрывает имеющиеся в управляемой и неуправляемой моделях различия. Проблемы, связанные с типами данных, механизмами обработки ошибок и т. д. в управляемой и неуправляемой моделях, решаются CLR "незаметно" как для вызывающей стороны (клиента), так и для вызываемой стороны (серверA. Таким образом, организация взаимодействия между управляемым и неуправляемым кодом выглядит проще, чем могло быть.Реализованные в .NET языки программирования позволяют создавать управляемый код, который может взаимодействовать с неуправляемыми библиотеками Win32 и компонентами на основе модели компонентных объектов Microsoft (COM). Язык программирования C++ .NET является единственным, который позволяет создавать как управляемый, так и неуправляемый код. Это дает возможность не только использовать неуправляемый библиотечный код, но и смешивать управляемый и неуправляемый коды в одном приложении.
Базовые различия
При работе с управляемым кодом программист размещает объекты в управляемой динамически распределяемой области памяти, используя оператор new (создать), причем освобождать их с помощью соответствующих операторов delete (удалить) не нужно. Это освобождает программиста от заботы об утечках памяти, и позволяет сосредоточить основное внимание на важных и полезных задачах, таких как более точная реализация проекта программы, что повышает производительность программирования и качество программного обеспечения. Неуправляемый код C++ .NET должен самостоятельно управлять динамически распределяемой областью в памяти традиционными способами C++, используя операторы new (создать) и delete (удалить). Так как одним из наиболее общих недостатков в программах на C++ является ужасающая утечка памяти, поэтому использование управляемого кода C++ .NET может оказать очень положительное воздействие на многие разработки программного обеспечения.
