Вы находитесь на странице: 1из 10

ИНСТРУКЦИЯ ПО ИСПОЛЬЗОВАНИЮ ОТЛАДЧИКА

ИНСТРУКЦИЯ ПО ИСПОЛЬЗОВАНИЮ ОТЛАДЧИКА ....................................... 2

ВВЕДЕНИЕ ................................................................................................................ 2

ИНТЕРФЕЙС .............................................................................................................. 2

ОТОБРАЖЕНИЕ ИСХОДНОГО КОДА.......................................................................................... 2

ДОСТУПНЫЕ СПОСОБЫ ОТОБРАЖЕНИЯ ДАННЫХ .................................................................... 3

УПРАВЛЕНИЕ ОТЛАДКОЙ......................................................................................................... 3

ПРОСМОТР/ИЗМЕНЕНИЕ ЗНАЧЕНИЙ ПОЛЕЙ ............................................................................ 4

ПРОСМОТР/ИЗМЕНЕНИЕ ВНУТРЕННИХ ТАБЛИЦ ....................................................................... 5

ПРОЧИЕ ФУНКЦИИ .................................................................................................................. 5

ТОЧКИ ПРЕРЫВАНИЯ .................................................................................................. 6

СТАТИЧЕСКИЕ ......................................................................................................................... 6

ДИНАМИЧЕСКИЕ ТОЧКИ ПРЕРЫВАНИЯ .................................................................................... 6

 НЕПОСРЕДСТВЕННАЯ УСТАНОВКА ................................................................................ 6

 УСТАНОВКА ИЗ ОТЛАДЧИКА ......................................................................................... 6

 ТОЧКА ПРЕРЫВАНИЯ ПРИ ОПЕРАТОРЕ .......................................................................... 6

 ТОЧКА ПРЕРЫВАНИЯ ПРИ ПОДПРОГРАММЕ .................................................................. 6

 ТОЧКА ПРЕРЫВАНИЯ ПРИ МОДУЛЕ ФУНКЦИИ .............................................................. 7

 ТОЧКА ПРЕРЫВАНИЯ ПРИ МЕТОДЕ ............................................................................... 7

 ТОЧКА ПРЕРЫВАНИЯ ПРИ ОСОБОЙ СИТУАЦИИ ............................................................. 7

 ТОЧКА ПРЕРЫВАНИЯ ПРИ СИСТЕМНОЙ ОСОБОЙ СИТУАЦИИ ........................................ 7

ТОЧКИ НАБЛЮДЕНИЯ ................................................................................................. 7

УСТАНОВКА ТОЧКИ НАБЛЮДЕНИЯ. ......................................................................................... 7

ОПРЕДЕЛЕНИЕ ЛОГИЧЕСКИХ СВЯЗЕЙ МЕЖДУ ТОЧКАМИ НАБЛЮДЕНИЯ.................................. 7

ИЗМЕНЕНИЕ/УДАЛЕНИЕ ТОЧЕК НАБЛЮДЕНИЯ ........................................................................ 8

ПРИМЕРЫ ПРИМЕНЕНИЯ ОТЛАДЧИКА............................................................................ 8

ИЗМЕНЕНИЕ СОДЕРЖИМОГО ТАБЛИЦЫ БАЗЫ ДАННЫХ: .......................................................... 8

АКТИВАЦИЯ И ПРОСМОТР В ОТЛАДКЕ USER-EXIT ................................................................... 8

ЛОГОТИП
Все права защищены. OXS 2005 СТР. 1(10)
КЛИЕНТА
ИНСТРУКЦИЯ ПО ИСПОЛЬЗОВАНИЮ ОТЛАДЧИКА

ИНСТРУКЦИЯ ПО ИСПОЛЬЗОВАНИЮ ОТЛАДЧИКА

ВВЕДЕНИЕ
Начиная с версии 5.0 существует возможность использования как классического, так и нового дизайна
отладчика. Настройка: (напр.тр.se80, se38 и т.п.) Utilities  Settings  ABAP Editor  Debugging

В данной инструкции рассматривается только классический дизайн.

Вход в отладчик возможен двумя путями:

 Установкой точек прерывания в исполняемой программе

 Выполнение программы в режиме отладчика.

Точка прерывания – сигнал в строке кода, который вызывает прекращение выполнения программы на этой
строке и запускает ABAP-отладчик.

Способы запуска программы в режиме отладчика:

 Из навигатора объектов (se80) Program Test Debugging

 Из ABAP-редактора (se38) Program  Execute  Debugging, из исходного кода Program  Test 


Debugging

 Из любого экрана System  Utilities  Debug ABAP

 Из любого экрана – введите «/h» в командном окне.

 С помощью точки прерывания.

Перезапуск отладчика

 Находясь в отладчике необходимо выбрать: Debugging  Restart. При этом отладка прекратится и
система вызовет начальный экран из которого отладчик был запущен.

Выключить отладчик (продолжить выполнение программы в обычном режиме)

 Находясь в отладчике: Debugging  Debugging off

Выход из отладчика (с выходом из программы)

 Находясь в отладчике: Debugging  Exit

ИНТЕРФЕЙС
Отображение исходного кода

Позиционирование на указанном столбце кода

 Ввести номер столбца и нажать Enter.

ЛОГОТИП
Все права защищены. OXS 2005 СТР. 2(10)
КЛИЕНТА
ИНСТРУКЦИЯ ПО ИСПОЛЬЗОВАНИЮ ОТЛАДЧИКА

Позиционирование на указанной строке кода

 Ввести номер столбца и нажать Enter.

Увеличение фрагмента кода

 Нажать кнопку . Код отображается на весь экран.

Позиционирование на текущем операторе

 Нажать кнопку .

Доступные способы отображения данных

 Fields – демонстрация/изменение содержимого полей

 Table – демонстрация/изменение содержимого внутренних таблиц

 Breakpoint – демонстрация /удаление до последующих 30 точек прерывания.

 Watchpoint – демонстрация/изменение/удаление точек наблюдения

 Calls – демонстрация перечня событий программы и их последовательность вызова до момента точки


прерывания. Последнее вызванное событие отображается в верху списка. При завершении события
оно удаляется из списка.

 Overview – обзор структуры программы: события, подпрограммы и модули.

 Settings – текущие настройки отладчика.

Управление отладкой

 Отдельный шаг (F5) или кнопка или меню Debugging  Control  Single Step

Позволяет выполнить оператор в текущей строке с заходом в вызываемую


подпрограмму/функцию/программу

 Выполнить (F6) или кнопка или меню Debugging  Control  Execute

Позволяет выполнить оператор в текущей строке с обходом вызываемой


подпрограммы/функции/программы

 Возврат (F7) или кнопка или меню Debugging  Control  Return

Возвращает из вызываемой подпрограммы/функции/программы в главную программу

 Дальше (F8) или кнопка или меню Debugging  Control  Run

Запускает выполнение программы до следующей точки прерывания

ЛОГОТИП
Все права защищены. OXS 2005 СТР. 3(10)
КЛИЕНТА
ИНСТРУКЦИЯ ПО ИСПОЛЬЗОВАНИЮ ОТЛАДЧИКА

Просмотр/изменение значений полей

 Для просмотра значения поля необходимо скопировать его название в нижней части экрана:

Нажмите Enter, значение поля отобразится.

Так же можно отобразить поле для просмотра значения двойным щелчком по этому полю.

 Если выведено много полей для просмотра значений, то их можно пролистывать постранично или
построчно кнопками .

 Для удаления всех полей из области просмотра воспользуйтесь кнопкой .

 Постоянно отображаются значения наиболее важных четырёх системных полей:

Sy-subrc – Код возврата - системная переменная, хранящая результат выполнения какого-либо


действия. 0 – действие выполнено успешно. Прочие значения зависят от исполняемого оператора.
См.справку для конкретного оператора или справку
http://help.sap.com/saphelp_470/helpdata/en/7b/fb96c8882811d295a90000e8353423/frameset.htm

Sy-tabix – текущий индекс строки, читаемой внутренней таблицы.

Sy-dbcnt – число считанных строк из БД

Sy-dynnr – номер экрана.

Можно просматривать значения и других системных переменных из структуры Syst. Для этого
необходимо в поле для названия поля написать sy-<название поля>.

 Можно отобразить значения переменных внешних программ, через которые вы проходили в процессе
исполнения. Для этого надо указать имя программы и переменной : (имя программы)имя поля.
Например: (SAPMSCLM)ACTION

 Специальные способы отображения:

o подстрока для символьной строки <поле>+<позиция символа>(<количество символов>).


Отсчёт позиции символа начинается с 0. Напр.: sy-datum+2(2)

o Произвольное поле внутренней таблицы: <имя таблицы>[номер строки]-<имя поля>. Напр.:


itab[1]-field

o Просмотреть тип переменной можно, дважды щёлкнув по полю, где указано его название.

ЛОГОТИП
Все права защищены. OXS 2005 СТР. 4(10)
КЛИЕНТА
ИНСТРУКЦИЯ ПО ИСПОЛЬЗОВАНИЮ ОТЛАДЧИКА

 Для изменения значения поля в отладчике необходимо отобразить его значение и изменить на
требуемое. После чего нажать напротив этого значения. Дальнейшее выполнение программы
происходит с использованием нового значения переменной. Если вы не нажмёте эту кнопку, то
изменения значения поля не произойдёт.

Просмотр/изменение внутренних таблиц

Для отображения внутренних таблиц переключитесь в режим просмотра таблиц (нажмите кнопку

) и скопируйте название таблицы в поле «ВнутрТаблица».

 С помощью кнопки можно просмотреть перечень ранее просмотренных таблиц.

 С помощью кнопки можно просмотреть журнал использования таблицы.

 Так же можно указать формат просмотра таблицы и увеличить область просмотра таблицы.

 Для просмотра определённой строки/поля введите номер строки/название поля в заголовок таблицы

 В отладчике можно изменять содержимое полей таблицы, добавлять и удалять строки.

o Изменение строки: позиционируйте курсор на нужной строке и нажмите кнопку

o Вставка строки в произвольном месте: позиционируйте курсор на строке, перед которой


необходимо вставить новую строку и нажмите кнопку

o Добавление строки: для добавления строки в конец таблицы нажмите кнопку

o Удаление строки: позиционируйте курсор на строке, предназначенной для удаления, и


нажмите

Прочие функции

 Просмотр списка

Если в процессе программы формируется листинг, то процесс его формирования можно просмотреть с
помощью кнопки

 Блокирование базы данных

При выполнении некоторых программ, которые вызывают обновление базы данных, происходит
блокирование доступа к этим базам прочих пользователей. Для разрешения прочим пользователям
доступа к базам выберите Debugging  Database  Commit (unlock) при этом обновление баз в
вашем процессе происходить не будет

 Откат

ЛОГОТИП
Все права защищены. OXS 2005 СТР. 5(10)
КЛИЕНТА
ИНСТРУКЦИЯ ПО ИСПОЛЬЗОВАНИЮ ОТЛАДЧИКА

Если вы хотите отменить все изменения базы данных, выполненных с момента последнего commit
выберите Debugging  Database  Rollback

ТОЧКИ ПРЕРЫВАНИЯ
Статические

Статическая точка прерывания ставится в режиме редактирования программы в ABAP-редакторе (SE38). В


месте прерывания программы вставляется оператор: BREAK-POINT. Такая точка прерывания не специфична
для пользователя. Для установки точки прерывания, специфичной для пользователя, используйте BREAK-
POINT <имя пользователя>.

Такой способ установки возможен только в пользовательских программах и при наличии ключа разработчика.

Динамические точки прерывания

Динамические точки прерывания специфичны для пользователя и хранятся в системе только до выхода из
системы. Точки прерывания установленные в режиме отладчика сохраняются только до выхода из отладки.
Для сохранения на протяжении текущей регистрации выберите Точки прерывания Сохранить или
нажмите кнопку . Система сохранит все точки прерывания, проставленные в текущей программе.

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

Сохранённые точки прерывания можно активировать/деактевировать. Активация/деактивация точки


прерывания сохраняется на уровне текущего сеанса отладки. Для сохранения состоянии точки прерывания на
протяжении регистрации в системе нажмите .

 Непосредственная установка

Точка прерывания ставится в режиме просмотра программы в ABAP-редакторе (SE38). Позиционируйте курсор
на строке кода, предназначенной для установки точки прерывания, и вызовите: Утилиты Точка
прерывания Установить/Удалить, либо с помощью кнопки . Аналогичным образом точка
прерывания удаляется.

 Установка из отладчика

Точка прерывания при выполнении отладки ставится с помощью двойного щелчка по строке или меню: Точки
прерывания Создать/Удалить. Аналогичным образом точка прерывания удаляется.

 Точка прерывания при операторе

Устанавливается из отладчика, меню: Точки прерывания ТП при…Оператор. В появившемся окне


указать оператор, при котором необходимо прерывание. Напр.: message, select, commit и т.д.

 Точка прерывания при подпрограмме

Устанавливается из отладчика, меню: Точки прерывания ТП при…Подпрограмма. В появившемся


окне указать имя программы и подпрограммы при вызове которой должно сработать прерывание.

ЛОГОТИП
Все права защищены. OXS 2005 СТР. 6(10)
КЛИЕНТА
ИНСТРУКЦИЯ ПО ИСПОЛЬЗОВАНИЮ ОТЛАДЧИКА

 Точка прерывания при модуле функции

Устанавливается из отладчика, меню: Точки прерывания ТП при…Модуль функции. В появившемся


окне указать имя функционального модуля при вызове которого должно сработать прерывание.

 Точка прерывания при методе

Устанавливается из отладчика, меню: Точки прерывания ТП при…Метод. В появившемся окне


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

 Точка прерывания при особой ситуации

Устанавливается из отладчика, меню: Точки прерывания ТП при…Особая ситуация. В появившемся


окне указать имя особой ситуации, при вызове которой должно сработать прерывание.

 Точка прерывания при системной особой ситуации

Устанавливается из отладчика, меню: Точки прерывания ТП при…Системная особая ситуация.

ТОЧКИ НАБЛЮДЕНИЯ
Как и точки прерывания, точки просмотра служат для прерывания программы в определённом месте, но в
отличие от точек прерывания, точки наблюдения не активируются, пока содержимое определённого поля не
будет изменено. Точки наблюдения, как и динамические точки прерывания, зависят от пользователя, т.е. не
срабатывают, если программу запустил другой пользователь. Точки наблюдения можно определять только
находясь в отладчике.

Таким образом, точки наблюдения отслеживают состояние содержимого определённого поля в процессе
отладки. Когда значение точки наблюдения изменено определённым образом – срабатывает прерывание
выполнения программы.

Точки наблюдения могут быть локальными (в рамках исполняемой программы) и глобальная (активна при
выполнении любой программы)

Точки наблюдения удаляются при выходе из отладчика, если вы их предварительно не сохраните (аналогично
точкам прерывания)

Установка точки наблюдения.

Перейдите в режим просмотра точек наблюдения. Выберите Точки прерывания Создать точку

наблюдения или кнопка .

Определите, будет это глобальная или локальная точка наблюдения. Укажите название программы,
переменной и оператора сравнения. Если вы хотите сравнивать значение переменной со значением другой
переменной – установите галку «Поле для сравнения» и укажите название переменной для сравнения. Если
вы хотите сравнивать значение переменной с константой, то галку не устанавливайте и укажите константу
для сравнения.

Определение логических связей между точками наблюдения

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

ЛОГОТИП
Все права защищены. OXS 2005 СТР. 7(10)
КЛИЕНТА
ИНСТРУКЦИЯ ПО ИСПОЛЬЗОВАНИЮ ОТЛАДЧИКА

Изменение/удаление точек наблюдения

Изменение/удаление точки наблюдения выполняется с помощью кнопок напротив неё.

ПРИМЕРЫ ПРИМЕНЕНИЯ ОТЛАДЧИКА


Изменение содержимого таблицы базы данных:

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

Используйте этот способ в самом крайнем случае, т.к. существует возможность нарушения
целостность данных системы. Например, вы измените сумму проводки в отдельной позиции, но не измените в
итоговой таблице, в результате чего суммы в итоговых отчётах будут не равны суммам в отчётах по
отдельным позициям.

Запустите браузер данных необходимой таблицы. (se16, se11). Выберите двойным щелчком запись,
предназначенную для изменения/удаления, или любую, если хотите добавить новую запись.

Запустите отладчик с помощью «/h» в командном окне. Нажмите Enter.

Измените значение переменной code на

 EDIT , если хотите изменить текущую запись

 INSR , если хотите вставить запись

 DELE, если хотите удалить запись

 ANVO, если хотите скопировать текущую запись

Вводить нужно большими буквами!!!! Иначе не работает!

Выключите отладку.

Активация и просмотр в отладке User-Exit

Просмотр User-Exit осуществляется в тр.SMOD. Когда найдено расширение, которое, на первый взгляд, могло
бы быть вам полезно, его необходимо протестировать.

 В тр.cmod создайте свой проект, начинающийся на z, в который вы позднее включите найденное


расширене.

 Введите описание проекта

ЛОГОТИП
Все права защищены. OXS 2005 СТР. 8(10)
КЛИЕНТА
ИНСТРУКЦИЯ ПО ИСПОЛЬЗОВАНИЮ ОТЛАДЧИКА

 Нажмите «Присвоение расширения» и укажите пакет для его сохранения или сохраните как
локальный объект.

 Присвойте проверяемое расширение проекту

 Перейдите к компонентам и выберите функциональный модуль, который будете


тестировать. Двойным щелчком «провалитесь» в него и установите точку прерывания на инклюде,
предназначенном для изменения пользователем.

ЛОГОТИП
Все права защищены. OXS 2005 СТР. 9(10)
КЛИЕНТА
ИНСТРУКЦИЯ ПО ИСПОЛЬЗОВАНИЮ ОТЛАДЧИКА

 Вернитесь назад и активируйте проект с помощью кнопки . С этого момента расширение будет

срабатывать. Деактивировать проект можно с помощью кнопки .

Замечание – отменить присвоение расширения проекту можно в случае, если проект не активен.

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


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

ЛОГОТИП
Все права защищены. OXS 2005 СТР. 10(10)
КЛИЕНТА

Вам также может понравиться