Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Урок 2: Как Отладить Приложение Remoting

Читайте также:
  1. VI. Приложение.
  2. Z. ПРИЛОЖЕНИЕ
  3. Данное приложение является официальным вызовом и основанием для командирования спортсменов, тренеров и судей на соревнования
  4. Желаем удачи, много Гостей и денег!!!!! Приложение
  5. ЗАГАДКИ (приложение 3)
  6. Запустите приложение NetCracker Professional.
  7. ИСПОЛЬЗОВАНИЕ КАМЕРЫ HERO3 C ПРИЛОЖЕНИЕМ GOPRO APP

Практически невозможно написать более чем пару строчек кода без того чтобы, при его исполнении возникла бы какая-нибудь ошибка. Есть в целом три типа ошибок в программном обеспечении: первые ошибки синтаксиса и компиляции, второе ошибки времени исполнения (runtime errors), и логические ошибки. Ошибки синтаксиса и компиляции возникают по причинам некорректного синтаксиса языка и использование команд и обычно не позволяют выполнить компиляцию. Ошибки времени исполнения - это ошибки, которые не мешают компиляции, и возникают в связи с каким либо элементом, который не удается обнаружимый до момента запуска, например эффект неправильного ввода со стороны пользователя, который не опознан программой, и вызывает таким образом ошибку. Другой пример ошибки времени исполнения может быть в том что ресурс который ожидает который собирается использовать программа, оказывается недоступен во время ее роботы. Логические ошибки иногда относятся в категорию ошибок времени исполнения обычно они не препятствуют компиляции. Логические ошибки обычно связаны с операторами if или циклами, когда логический смысл такого оператора не является точным.

 

 

После этого урока, вы сможете:

| Использовать Visual Studio 2005 debugger, для того чтобы отлаживать приложения.NET remoting.

| Обрабатывать исключение.NET remoting используя класс RemotingException.

| Следить за производительностью приложения.NET remoting, с использованием счетчиков производительности.

| Отслеживать (Monitor) вызовы сделаные к методам в удаленном объекте, с использованием служб.NET remoting tracking services.

Оценочное время урока: 60 минут

 

 

Отладка (Debugging) - это процесс определения причин ошибок в программном обеспечении, который позволяет их исправить. В зависимости от типа созданного приложения, отладка приложения может быть относительно проста, или сложна. Отладка приложений.NET remoting обычно рассматривается как сложное занятие, по причине распределенной природы приложения. Есть несколько возможностей которые вы можете выбрать, для отладки и мониторинга компонентов.NET remoting.

 

Visual Studio 2005 Debugger

Visual Studio 2005 – всеохватывающая среда разработки, в частности в его полной версии Visual Studio Team System. Однако, все редакции Visual Studio 2005 включают наиболее мощный визуальный debugger, доступный на рынке. Debugger Visual Studio 2005 может быть использован, чтобы полностью анализировать исполняемый код, включая возможность проходить строка за строкой через исходный код, инспектировать используемые регистры памяти 240 и управлять неограниченный количеством точек остановки (breakpoints). Debugger также может использоваться, для того чтобы анализировать исполнение кода в не Visual Studio 2005 по средствам присоединения к процессу исполняющему код. Когда debugger присоединяется к процессу, при условии что вы имеете доступ к исходному коду, исполняемому процессу, вы можете контролировать, что этот процесс делает используя debugger. Некоторые типы приложений не могут быть отлажены непосредственно в рамках Visual Studio 2005 но в место этого они должны быть отлажены с использованием присоединения debugger к процессу, исполняющему код приложения, после того как процесс будет запущен. К таким приложениям относятся Windows services и.NET remoting приложения.

 

Помните о том что приложение.NET remoting созданы из множества компонентов, которые включают один или большее количество удаленных объектов, сервер, и один или большее количество клиентов. Удаленный объект это типично создается и использованием библиотеки классов. Библиотеки классов не могут быть исполнены непосредственно, они должны быть исполнены другим процессом. Таким образом нету способа отлаживать удаленный объект непосредственно, без того что бы в дело был включен другой процесс. В терминах.NET remoting, процесс, который действует, как сервер исполняет удаленный объект. Клиентские приложения затем делают вызовы к серверу, для того чтобы получить доступ к удаленному объекту.

 

Для того чтобы начать отлаживать приложение.NET remoting, серверное приложение должно быть сначала запущено. Запуск сервера, в свою очередь, позволяет приступить к отладке удаленных объектов, которые хостятся этим сервером сервером. Однако, сервер типично не делает вызовы к методам удаленного объекта от собственного имени в место этого он делает вызовы к методам удаленного объекта, для того чтобы исполнить запросы клиента. Таким образом для того чтобы, тестировать и отлаживать приложение.NET remoting, вам необходимо симулировать клиентские приложения, создавая тестовые скрипты, или простые приложения такие как консольное приложение (console application), которое будет делать вызовы к методам удаленного объекта.

 

По существу есть единственная точка, с которой необходимо начинать отладку приложения.NET remoting: этой точкой является клиент. Клиентское приложение, может не требовать, специального управления отладкой, до тех пора пока не будет сделан вызов к удаленному объекту. Однако в точке где вызов к удаленному объекту сделан, исполнение передается другому процессу- это серверный процесс. Типично если вы отлаживаете.NET remoting, используя Visual Studio 2005 debugger, вы отлаживаете его с клиента. Debugger Visual Studio 2005 может отлаживать многочисленные процессы, но только один процесс может быть отображен в debugger в данное время время.

 

Для того чтобы отлаживать.NET remoting сервер с клиента, вы должны присоединится к серверу до исполнения клиента. Сервер должен исполняться и слушать запросы клиентов.

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

 

 

Для того чтобы присоединится к серверному процессу, откройте проект клиентского приложения в Visual Studio 2005 и в меню Debug, щелкните Attach To Process. Диалоговое окно Attach To Process показано на Рисунке 6-8.

 

 

Рисунок 6-8 Диалоговое окно Attach To Process Visual Studio 2005

 

Диалоговое окно Attach To Process изначально показывает процессы, которые работают на локальной машине. Если сервер.NET remoting исполняется на другой машине, вам нужно выбрать процесс, по средствам присоединения к другой машине. Вы можете указать исполняемый процесс в списке, в поле Available Processes и нажать Attach. После того, как вы присоединяетесь к процессу, запустите клиентское приложение. Не забудьте, установить точки остановки (breakpoints), размещение где вы хотели бы остановится для работы в debugger, скомпилируйте все компоненты в режиме Debug mode, и сконфигурируюйте все машины для удаленной отладки, если это необходимо. Далее, после того, как исполнение передается на сервер, вам нужно выбрать сервер как процесс, который будет отображать в debugger, а для этого необходимо дважды щелкнуть процесс, для отображения в окне Processes.

 

БОЛЬШЕ ИНФОРМАЦИИ, Об отладке множественных процессов

Чтоб получить больше информации о том как отлаживается множество процессов, с использованием Visual Studio 2005, посетите тему под названием “Attaching to Running Processes” по адресу http://msdn2.microsoft.com/en-us/library/3s68z0b3.aspx.

 

 

242 Главы 6, Отлаживающей и Развертывающей Удаленные Приложения

 

Класс Remoting Exception

Вам следует всегда ожидать неожиданного. Когда вы пишете код, никогда не предполагайте, что все пойдет гладко и все ресурсы будут доступны. Весь код, который пишется, с использованием любого языка программирования, должен быть спроектирован так, чтобы он адекватно обработывал ошибки, которые могут встретится. Объектно-ориентированные языки программирования, в частности.NET-совместимые языки, обрабатывают ошибки через структурированную обработку исключений. Когда встречается ошибка, то создается объект (an object is instantiated), который представляет ошибку, исполнение приложения останавливается (halts), и Common Language Runtime (CLR) начинает искать оператор catch, который будет обрабатывать исключения.

 

Когда ошибки встречаются в приложении.NET remoting, создается класс RemotingException, который будет представлять ошибку. Типично, единственный код, который может вероятно выдать исключение в.NET remoting клиентском приложении - это код, который пытается соединиться с сервером и какой либо любой код, который создает вызовы к методам удаленного объекта. В следующем примере кода, оператор catch используется чтобы обрабатывать любые встреченные удаленные исключения.

 

Обработка исключительных Состояний Remoting

(КОД)

 

Урок 2: Как Отладить Remoting Приложение 243

 

(КОД)

 

 

Использование Счетчиков производительности

Windows включает в себя утилиту, для того чтобы отслеживать производительность приложений эта утилита называется Performance Monitor (монитор производительности). Монитор производительности может быть запущен, используя ярлык Панели Управления в разделе Администрирование (Administrative Tools) или можно использовать как консольную утилиту, Perfmon.exe. Монитор производительности (Performance Monitor) следит за производительностью приложений для этого он использует счетчики производительности performance counters. Счетчик обновляется периодически, так чтобы отображать обновленный статус. Приложение может поддерживать множество счетчиков, для того чтобы отслеживать различные аспекты его производительности.

 

 

244 Главы 6, Отлаживающей и Развертывающей Удаленные Приложения

 

 

Счетчики могут быть сгруппированы вместе в категории, для того чтобы сделать их поиск легче, когда много счетчиков будет доступно для отслеживания доступно для от слеживания.

 

Многие приложения при своей инсталляции также инсталлируют счетчики Performance Monitor counters. Например, SQL Server 2005 инсталлирует несколько категорий счетчиков, для того чтобы отслеживать производительность базы данных, включая количество выполненных транзакций в секунду, и количество встреченных тупиков (deadlocks)..NET Framework - это другой пример приложения, которое инсталлирует несколько категорий счетчиков Performance Monitor counters. Счетчики могут также быть добавлены к утилите Performance Monitor, программным способом. Для этого используются классы в пространстве имен System.Diagnostics. Утилита Performance Monitor показана на Рисунке 6-9.

 

.NET Framework предоставляет категорию счетчиков специфично спроектированных так, чтобы отслеживать производительность удаленных операций.NET remoting. Также как это и с другими счетчиками, счетчики.NET remoting могут быть добавлены к Performance Monitor, и за их состоянием можно следить вручную или программным способом. Для того чтобы вручную добавлять счетчики в область отслеживания, в утилите Performance Monitor, щелкните кнопку Add на панели инструментов (toolbar). В диалоговом окне Add Counters, выберите категорию счетчиков, за которыми необходимо следить из выпадающего списка Performance Object, выберите тип счетчика из выпадающего списка слева, выберите экземпляр счетчика из выпадающего списка справа, и щелкните Add. Диалоговое окно Add Counters показано на Рисунке 6-10.

 

Урок 2: Как Отладить Remoting Приложение 245

 

Рисунок 6-10 Диалоговое окно AddCounters в мониторе производительности Windows Performance Monitor

 

Счетчики включенные в.NET Framework для отслеживания операций.NET remoting описаны в Таблице 6-2.

 

Таблица 6-2 Счетчики.NET Remoting Performance Counters

 


Дата добавления: 2015-11-13; просмотров: 60 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ № 7| Счетчик Описание

mybiblioteka.su - 2015-2024 год. (0.012 сек.)