Отладчик (Debagging) в SAP ERP (S/4HANA) для блондинок - страница 3

Шрифт
Интервал


) или нажав кнопку

на панели инструментов.

Теперь представим ситуацию, что в процессе отладки мы остановились на операторе вызова подпрограммы, функции, метода или чего-то похожего (назовем это все «подпрограммой»). Если дать команду выполнить отдельный шаг, управление будет передано внутрь вызываемой подпрограммы и вам придется проходить ее всю также по шагам. Если Вы уверены что то, что происходит внутри подпрограммы не вызывает ошибки, которую вы ищете, или просто в данный момент Вам не интересно, то всю подпрограмму можно выполнить за 1 шаг. Для этого предназначена соответствующая команда «Выполнить», назначенная на клавишу F6. Эту команду можно давать и при выполнении обычных операторов, в этом случае ее действие совпадает с выполнением команды отдельного шага по F5. В меню она находится в том же подразделе, что и команда «Отдельный шаг», а кнопка для нее выглядит так

.

Чтобы объяснить следующую команду отладки, стоит поговорить про стек вызовов. Стеком называется хранилище неких сущностей, из которого сущности могут быть извлечены в порядке обратном их помещению в стек. Если вы когда-нибудь слышали про LIFO – это и есть стек.

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

Для нас сейчас важно, что мы можем дать команду выполнить текущую подпрограмму до конца и выйти из нее. При этом программа остановится, и мы окажемся в отладчике на операторе, следующем за вызовом той подпрограммы, из которой мы вышли. Такая команда называется «Возврат» и назначена на клавишу F7 (и также присутствует в меню и панели инструментов). Очень полезно если вы случайно провалились в подпрограмму по F5, поняли, что хотели нажать F6 и Вам тут не интересно, и хотите вернуться. Кнопка для этой команды выглядит так .

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