Инструкция по использованию отладчика

Инструкция по использованию отладчика

Как известно, отладчик предназначен для пошагового выполнения программ с целью наблюдения за значением переменных и управления их значениями. Его используют при:

  1. Поиске ошибок в работе программы,
  2. Определении последовательности обращений к данным,
  3. Отслеживании алгоритма расчета значений.

Существуют несколько способов запуска исполнения программного кода в режиме отладки:

  1. Из специализированных транзакций
    1. Из навигатора объектов SE80 – Program – Test –Debugging
    2. Из ABAP- редактора SE38 – Program – Execute – Debugging (Рис.1);
    3. Из исходного кода Program – Test – Debugging;
    4. Установка точек прерывания через ABAP - редактор
    1. Из любого экрана System – Utilities – Debug ABAP
    2. Из любого экрана вводом «/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