Модуль 4: Мониторинг и отладка приложений
Обзор Управление системным Event Log Работа с Application Processes Managing Application Performance Отладка приложений Трассировка приложений Embedding Management Information and Events
Урок 1. Управление системным Event Log Что такое системный Event Log? Как писать и читать записи из Event Log Обсуждение: Выясняем как управлять Event Log.
Что такое системный Event Log? Event log хранит записи о различных событиях и действиях возникающих в приложении. Типы существующих системных Event Log: Система Безопасность Приложение Система Безопасность Приложение
Как читать и писать данные в Event Log СвойствоОписание Log Данное свойство указывает имя лога из которого производится чтение MachineName Данное свойство указывает имя компьютера на котором лог существует Entries Данное свойство предоставляет доступ к содержанию лога Source Данное свойство настраивает имя источника, сопоставленного с event log WriteEvent Данный метод позволяет записать «локализированные» данные в event log WriteEntry Данный метод позволяет записать данные в event log
Обсуждение: Выясняем как управлять Event Log Что такое event log? Зачем использовать event log? Как считывать данные из event log? Как вносить данные в event log? Что такое event source? Что такое event entry? Что такое event log? Зачем использовать event log? Как считывать данные из event log? Как вносить данные в event log? Что такое event source? Что такое event entry?
Урок 2. Работа с процессами приложений Как получить список процессов Как получить информацию о текущем процессе Как получить список модулей процесса Как запустить и остановить процесс Обсуждение: Определить методы работы с процессами приложений
Как получить список процессов? Принадлежит классу Process и получает список всех процессов запущенных на компьютере. GetProcess Method
Как получить информацию о текущем процессе? Получает информацию о текущем процессе. Информация может быть как о длительности выполнения процесса, так и задействованных ресурсах. GetCurrentProcess Method
Как получить список модулей процесса? «Получает» список всех модулей и информацию о конкретном модуле, загруженном в процесс. Modules Method
Как запустить и остановить процесс? Запускает и ассоциирует с компонентом процесс Start Method Останавливает и высвобождает все ассоциированные с процессом ресурсы Kill Method
Практика Написать приложение, отображающее список процессов, запущенных на локальном компьютере.
Обсуждение Что такое процесс? Как запустить и остановить процесс? Как получить информацию о текущем процессом? Как получить информацию о запущенных в системе процессах? Что такое процесс? Как запустить и остановить процесс? Как получить информацию о текущем процессом? Как получить информацию о запущенных в системе процессах?
Урок 3. Производительность приложений Мониторинг производительности приложений используя Performance Monitor Как информация о производительности может кастомизироваться используя Performance Counter классы. Обсуждение: Определяем возможности для мониторинга производительности приложений.
Мониторинг производительности приложений используя Performance Monitor Мониторинг производительности может быть осуществлен с помощью соответствующих утилит и методов. Подопытными в нашем виртуальном «Большом Брате» (Дом2, кому как больше нравится) являются: CPU Hard disk drive Memory Processes and Threads CPU Hard disk drive Memory Processes and Threads
Как информация о производительности может customized используя Performance Counter ClassesDescription PerformanceCounter Управляет данными полученными от счётчиков производительности PerformanceCounterCategory Управляет категориями CounterCreationData Создаёт счётчики производительности и т.д.
Обсуждение Ну и как же Вы будите мониторить производительности приложений, используя стандартные механизмы, предоставляемые платформой Microsoft.NET Framework, для операционных систем семейства Windows?
Урок 4. Отладка приложений Демонстрация: Просмотр сообщений об ошибке используя VS Debugger Как Debugger класс используется для программной отладки Как Debug класс используется для программной отладки Debugger Attributes, зачем они? Управление стэком используя StackFrame and StackTrace Classes Обсуждение:Возможности отладки
Демонстрация: Просмотр сообщений об ошибке используя VS Debugger Демо… если получится на данном EeePc.
Как Debugger класс используется для программной отладки Процесс поиска и исправления ошибок в коде. В общем случае. Debugging Process / Процесс отладки Запускает отладчик из самого приложения и присоединяет его к запущенному процессу. Debugger Class
Как Debug класс используется для программной отладки Debug содержит методы и свойства, которые помогают в отладке нужных блоков кода или методов. Основные свойства Debug: Assert WriteLine WriteLineIf Assert WriteLine WriteLineIf
Debugger Attributes, зачем они? Используются для конфигурирования пользовательских типов, влияет на отладку – ну кто бы мог подумать! Debugger Attributes
Управление стэком используя StackFrame and StackTrace Classes Предоставляет информацию о фрейме стэка, что является представлением вызова функции в стэке текущего потока. StackFrame Управляет двумя и более фрэймами. StackTrace
Обсуждение:Возможности отладки Что есть отладка Debug class? Debugger class? Что есть the call stack? Что есть отладка Debug class? Debugger class? Что есть the call stack?
Трассировка приложений Что такое трассировка? Как использовать программную трассировку в приложениях с помощью the Trace Class Как идентифицировать источник трассировки используя TraceSource Как информация трассировки настраивается используя Trace Switch Как информация трассировки направляется используя Trace Listener Как информация трассировки категоризируется используя CorrelationManager Обсуждение: Возможности трассировки
Что такое трассировка? Процесс монитоинга и записи событий приложения. Трассировка приложений Суперская картинка
Как использовать программную трассировку в приложениях с помощью the Trace Class Trace класс отслеживает выполнение приложения, основные методы: Assert WriteIf Fail Write WriteLine WriteLineIf Assert WriteIf Fail Write WriteLine WriteLineIf
Как идентифицировать источник трассировки используя TraceSource TraceSource класс помогает в трассировке исполняемого кода и ассоциировании сообщений трассировки с источником. Основные методы и св- ва: TraceEvent TraceData TraceInformation Name Switch Listeners TraceEvent TraceData TraceInformation Name Switch Listeners
Как информация трассировки настраивается используя Trace Switch Trace switchesмогут включать, выключать и фильтровать трассировочную информацию. Типы переключателей: TraceSwitch BooleanSwitch TraceSwitch BooleanSwitch
Как информация трассировки направляется используя Trace Listener Trace listener классы направляют информацию о трассировки туда, где не светит солнце, т.е. сохраняют. Существующие классы : Trace listener классы направляют информацию о трассировки туда, где не светит солнце, т.е. сохраняют. Существующие классы : TraceListener XmlWriterTraceListener DelimitedListTraceListener EventLogTraceListener TraceListener XmlWriterTraceListener DelimitedListTraceListener EventLogTraceListener
Как информация трассировки cetegorized используя CorrelationManager Группировка и классификация информации трассировки для последующего анализа – вот его жизненное кредо. CorrelationManager Class
Обсуждение: Возможности трассировки Что есть трассировка? Trace class? Trace source? CorrelationManager class? Что есть трассировка? Trace class? Trace source? CorrelationManager class?
Thats all folks.