Меню сайта
Форма входа
Категории раздела
Общие статьи об INDY [6] INDY IN DEPTH [18]
Учебник созданный авторами INDY
Видеоуроки INDY [3] Основы Delphi [9]
Работа с файлами [6]
Главная » Статьи » Delphi » INDY IN DEPTH

Отладка
INDY IN DEPTH. ГЛУБИНЫ INDY

 

14. Отладка

 


Традиционно отладка клиентов проще отладки серверов. Клиенты просто должны обслуживать лишь одно соединение и могут традиционно быть, наконец, отлажены при помощи обычный техники отладки. В данной главе приводится несколько, как мы выражаемся, нужных советов для отладки клиентов и серверов.

14.1. Ведение логов

Реально обычной путь – что узреть, что, вообщем то, делает клиент, без трассировки по коду – это применять классы TIdLogDebug либо TIdLogFile. Класс TIdLogDebug выводит информацию в впрямую в окно отладки и чрезвычайно комфортен для наблюдения, того, что клиент отправляет и воспринимает в настоящем масштабе времени. Ежели вы не хочет глядеть трафик в настоящем времени, то воспользуйтесь классом TIdLogFile. После того как клиент окончит свою работу, вы сможете поглядеть содержимое файла и узреть, что так сказать делалось во время сессии.

14.2. Симуляция

Но время от времени требуется симулировать клиента либо сервер, ежели он не доступен. Это быть может изготовлено по причинам сохранности, трафика либо по иным причинам. В таковых вариантах вы сможете пользоваться симуляцией. Симуляция может также также употребляться для построения клиента, до построения сервера либо для сотворения тестовых скриптов, методом симуляции клиента.

Симуляция быть может наконец-то выполнена при помощи TIdIOHandlerStream и назначения потока вывода в текстовый файл, поток ввода должен быть установлен в nil. Это показывает классу TIdIOHandlerStream читать все данные для посылки клиенту из текстового файла и так сказать игнорировать все данные возвращаемые с клиента.

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

14.3. Запись и воспроизведение

Одним из нужных способов как бы является запись сессии, и следующего ее воспроизведения. Это особо нужно для, как мы привыкли говорить, регрессивного тестирования и удаленной отладки. Ежели ваш заказчик находится в удаленном месте, то вы сможете как раз отправить ему необыкновенную версию программы либо включить как бы запись сессии. Потом они могут для вас переслать записанный файл, и вы можете симулировать его сессию клиента либо сервер у себя на месте, без необходимости иметь реальное соединение с их сервером.

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

Обработчики ввода/вывода (IOHandlers) также имеют другое полезное применение. Они употребляются для записи и воспроизведения. Живая сессия быть может записана при помощи компонентов ведения логов и позднее воспроизведена при помощи потоков обработчиков ввода/вывода. Представим, что вы имеет заказчика, у которого есть задачи, но вы не сможете воспроизвести эти препядствия у себя не сможете посетить его. Вы сможете, в конце концов, попросить его прислать лог полной сессии и, вообщем то, попробовать воспроизвести сессию на вашей машине. Команда Indy употребляет это как часть собственной QA отладки. Я планирую, стало быть, обрисовать это позднее.
             
Категория: INDY IN DEPTH | Добавил: nazgull (05.02.2012)
Просмотров: 1149 | Теги: Отладка программ на инди, Отладка инди, Отладка indy | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Ссылки