tmpa-2015: multi-module application tracing in z/os environment

Post on 17-Feb-2017

1.708 Views

Category:

Science

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Трассировка многомодульного приложения в среде

операционной системы z/OS

Ростислав Ефремовcтудент математико-механического

факультета СПБГУSoftware Engineer, EMC

Slava.efremov1994@mail.ru

TMPA 2015

Mainframe – System Z

• Канальная подсистема• Высокая надежность• Система безопасности• Обратная совместимость• Нишевый продукт

2

Проблемы Mainframe

3

• Обратная совместимость• Закрытость разработок• …

• Чтобы с этим справиться важно иметьинструменты исследования приложений среды ОС z/OS

Трасса выполнения

Применение:• Анализ/чтение трассы как средство отладки

и понимания работы программы• Построение различных продуктов для

анализа трассы (например, состояние гонки, целостность данных)

4

Трассировка

Подходы к трассировке HLASM программ:• Статическая инструментация• Динамическая инструментация• Использование средств ОС z/OS

– GTF trace– SYSTRACE– SLIP trace

5

План

• Поиск методов статической инструментации бинарного кода

• Сравнение их производительности• Исследование воздействия методов на

окружение исследуемой программы• Выбор метода и реализация прототипа

трассировщика

6

Методы статической инструментации

7

..SVC 2420000TRAP2..

MODULE11)Make trace record2)Execute the instruction2)Resume execution

SVC routine

..instruction..

MODULE1

1)Make trace record2)Execute the instruction2)Resume execution

RECOVERY or ESPIE routine

1)Make trace record2)Execute the instruction2)Resume execution

TRAP routine

В результате инструментации instruction заменится на один из вариантов:• SVC 242 – вызов SVC routine• 0000 – вызывает обработчик ABEND• TRAP2 – вызов TRAP routine

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

8

Методы трассировки

• Recovery routine/ESPIE– Метод достаточно медленный (ESTAI)– Сильные ограничения на окружение

• SVC hooking– Метод быстрый– Средние ограничения на окружение– Привилегированный режим

• TRAP– Очень быстрый метод– Слабые ограничения на окружение

9

Существующие инструменты

• IDF (Interactive Debug Facility)– RECOVERY/SVC

• z/XDC (Extended Debugging Controller)– RECOVERY/SVC

• TDF (Trap Debug Facility)– TRAP

• RootCause for z/OS– ?

10

SVC hooking

SVC hooking• Реализовано в z/XDC и IDF• Работает в любом окружении z/OS кроме

SRB, cross memory mode• Проще в реализации, чем TRAP• Специфика реализации позволяет добавить

TRAP трассировку для SRB и cross memory

11

Пример вывода

12

Разработано

• Программа, реализующая все четыре метода перехвата прыжков– Тестирование скорости– Код для TRAP и ESTAE можно переносить в тестировщик

• Прототип трассировщика на SVC hooking– Разработан аналог соответствующим механизмам в IDF

и z/XDC– Работает в любом окружении z/OS кроме SRB, cross

memory mode– Нет проблем с авторизацией в отличие от TRAP– Позволяет добавить использование TRAP

подпрограммы для трассировки13

Перспективы

• Добавление поддержки SRB и разных режимов адресных пространств:– Добавление TRAP подпрограммы трассировки – Развитие анализатора кода

• Поиск способов трассировки SRB в secondary address space mode

• Реализация интерфейса для задания входных наборов данных

14

top related