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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ЛОГОТИП
Все права защищены. 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

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

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

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

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

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

• Ввести номер столбца и нажать 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/framese
t.htm

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

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

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

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


этого необходимо в поле для названия поля написать sy-<название поля>.

• Можно отобразить значения переменных внешних программ, через которые вы


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

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

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


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

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


поля>. Напр.: itab[1]-field

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

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

• Для изменения значения поля в отладчике необходимо отобразить его значение и

изменить на требуемое. После чего нажать напротив этого значения. Дальнейшее


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

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

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

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

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

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

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


таблицы.

• Для просмотра определённой строки/поля введите номер строки/название поля в


заголовок таблицы

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

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

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


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

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

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

удаления, и нажмите

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

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

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


просмотреть с помощью кнопки

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

При выполнении некоторых программ, которые вызывают обновление базы данных,


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

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

прочим пользователям доступа к базам выберите Debugging → Database → Commit (unlock)


при этом обновление баз в вашем процессе происходить не будет

• Откат

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

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

Статические

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


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

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

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

Динамические точки прерывания специфичны для пользователя и хранятся в системе только до


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

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

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


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

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

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


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

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

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

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

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

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


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

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

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


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

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

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


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

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

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


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

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

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


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

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

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


ситуация.

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

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

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


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

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


(активна при выполнении любой программы)

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


сохраните (аналогично точкам прерывания)

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

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

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

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

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

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

Если необходимо прерывание программы при одновременном выполнении нескольких


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

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

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

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

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

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


отладчика.

Используйте этот способ в самом крайнем случае, т.к. существует возможность


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

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

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

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

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

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

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

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

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

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

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

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


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

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


найденное расширене.

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

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

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

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


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

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

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

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

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


активен.

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


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

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