Инструкция по использованию отладчика
Как известно, отладчик предназначен для пошагового выполнения программ с целью наблюдения за значением переменных и управления их значениями. Его используют при:
- Поиске ошибок в работе программы,
- Определении последовательности обращений к данным,
- Отслеживании алгоритма расчета значений.
Существуют несколько способов запуска исполнения программного кода в режиме отладки:
- Из специализированных транзакций
- Из навигатора объектов SE80 – Program – Test –Debugging
- Из ABAP- редактора SE38 – Program – Execute – Debugging (Рис.1);
- Из исходного кода Program – Test – Debugging;
- Установка точек прерывания через ABAP - редактор
- Из любого экрана System – Utilities – Debug ABAP
- Из любого экрана вводом «/h» в командном окне (Рис.2)
Рис. 1 Транзакция SE38 –запуск отладчика
Рис. 2 Запуск отладчика в любом окне системы
В том случае, когда известно имя выполняемой программы, удобно воспользоваться ABAP-редактором. Если же имя выполняемой программы неизвестно, либо программа имеет сложную структуру вызова, то удобнее воспользоваться вызовом отладчика с помощью команды «/h».
Вход в отладчик (возможен двумя путями):
- Установка точек прерывания в исполняемой программе
- Выполнение программы в режиме отладки.
Точка прерывания – сигнал в строке кода, который вызывает прекращение выполнения программы на этой строке и запускает ABAP-отладчик.
Перезапуск отладчика
- Находясь в отладчике, необходимо выбрать: Debugging ® Restart. При этом режим отладки прекратится, и система вызовет начальный экран, из которого отладчик был запущен.
Выключение отладчика (продолжить выполнение программы в обычном режиме)
- Без выхода из отлаживаемой программы: Debugging ® Debuggingoff
Выход из отладчика с выходом из программы
- Находясь в отладчике: Debugging ® Exit
Выход из режима отладки с последующим выполнением программы имеет особенность – режим отладки может быть возобновлен в случае наличия точек прерывания в модуле программы.
Интерфейс
Отображение исходного кодаПозиционирование на указанном столбце кода
- Ввести номер столбца и нажать Enter.
Позиционирование на указанной строке кода
- Ввести номер столбца и нажать Enter.
Увеличение фрагмента кода
- Нажать кнопку . Код отображается на весь экран.
Позиционирование на текущем операторе
- Нажать кнопку .
- Fields – демонстрация/изменение содержимого полей
- Table – демонстрация/изменение содержимого внутренних таблиц
- Breakpoint – демонстрация /удаление до последующих 30 точек прерывания.
- Watchpoint – демонстрация/изменение/удаление точек наблюдения
- Calls – демонстрация перечня событий программы и последовательности их вызова до момента точки прерывания. Последнее вызванное событие отображается в верху списка. При завершении события оно удаляется из списка.
- Overview – обзор структуры программы: события, подпрограммы и модули.
- Settings – текущие настройки отладчика.
- Выполнить отдельный шаг (F5) или кнопка или меню Debugging ® Control ® Single Step
Позволяет выполнить оператор в текущей строке с заходом в вызываемую подпрограмму/функцию/программу (Рис. 3)
Рис. 3 Отладчик
- Выполнить (F6) или кнопка или меню Debugging ® Control ® Execute
Позволяет выполнить оператор в текущей строке с обходом вызываемой подпрограммы/функции/программы
- Выполнить Возврат (F7) или кнопка или меню Debugging ® Control ® Return
Возвращает из вызываемой подпрограммы/функции/программы в главную программу
- Выполнить Дальше (F8) или кнопка или меню Debugging ® Control ® Run
Запускает выполнение программы до следующей точки прерывания
Просмотр/изменение значений полей- Для просмотра значения поля необходимо скопировать его название в нижней части экрана:
Нажмите Enter, значение поля отобразится.
Так же можно отобразить значение поле для просмотра двойным щелчком по этому полю.
- Если выведено много полей для просмотра значений, то их можно пролистывать постранично или построчно кнопками .
- Для удаления всех полей из области просмотра воспользуйтесь кнопкой .
- Постоянно отображаются значения четырёх наиболее важных системных полей:
Sy-subrc –- системная переменная, хранящая код возврата: результат выполнения какого-либо действия. 0 – действие выполнено успешно. Другие значения зависят от исполняемого оператора.
Sy-tabix – текущий индекс строки, читаемой внутренней таблицы.
Sy-dbcnt – число считанных строк из БД
Sy-dynnr – номер экрана.
Можно просматривать значения и других системных переменных из структуры Syst. Для этого необходимо в поле структуры для названия поля переменной sy-<название поля>.
- Можно отобразить значения переменных внешних программ, через которые вы проходили в процессе исполнения. Для этого надо указать имя программы и переменной: (имя программы)имя поля. Например: (SAPMSCLM)ACTION
- Специальные способы отображения:
- подстрока для символьной строки <поле>+<позиция символа>(<количество символов>). Отсчёт позиции символа начинается с 0. Например: sy-datum+2(2)
- Произвольное поле внутренней таблицы: <имя таблицы>[номер строки]-<имя поля>. Напр.: itab[1]-field
- Просмотреть тип переменной можно, дважды щёлкнув по полю, где указано его название.
Для отображения внутренних таблиц переключитесь в режим просмотра таблиц (нажмите кнопку ) и скопируйте название таблицы в поле «ВнутрТаблица».
- С помощью кнопки можно просмотреть перечень ранее просмотренных таблиц.
- С помощью кнопки можно просмотреть журнал использования таблицы.
- Также можно указать формат просмотра таблицы и увеличить область просмотра таблицы.
- Для просмотра определённой строки/поля введите номер строки/название поля в заголовок таблицы
- В отладчике можно изменять содержимое полей таблицы, добавлять и удалять строки.
- Изменение строки: позиционируйте курсор на нужной строке и нажмите кнопку
- Вставка строки в произвольном месте: позиционируйте курсор на строке, перед которой необходимо вставить новую строку и нажмите кнопку
- Добавление строки: для добавления строки в конец таблицы нажмите кнопку
- Удаление строки: позиционируйте курсор на строке, предназначенной для удаления, и нажмите
- Просмотр
Если хотите прочитать статью полностью и оставить свои комментарии присоединяйтесь к sapland