Добавить в цитаты Настройки чтения

Страница 2 из 2

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

Команда «Выполнить до курсора» – запускает программу и заставляет ее остановиться в месте, на котором установлен курсор. Если курсор установлен не в текущей подпрограмме или выше текущей команды – поведение аналогично команде «Дальше». В новом отладчике команда назначена на сочетание клавиш Shift+F8. В классическом отладчике, эта команда объединена с предыдущей – при ее вызове, если в процессе выполнения программы будет достигнуто место, на котором установлен курсор, программа остановится, и вы окажетесь в отладчике. Иначе программа будет выполнена до конца или до точки прерывания.

Еще одна команда «Перейти к оператору» позволяет переходить на любой оператор текущей подпрограммы без выполнения команд между ним и текущим оператором, на котором остановлена программа. Эта команда позволяет, как переходить вперед, например, пропуская какие-либо проверки, так и возвращаться назад, повторяя отдельные части подпрограммы. Для перехода необходимо установить курсор в тексте программы на нужное место и дать эту команду. В новом отладчике она назначена на сочетание клавиш Shift+F12. В классическом отладчике вызывается только через меню.

В классическом отладчике есть еще одна команда «Выполнить PAI-/PBO-модуль». По этой команде возобновляется обычная работа программы как при команде «Дальше». Но как только начинает выполняться PAI или PBO логика экрана – программа вновь останавливается, и Вы попадаете в отладчик.

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

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

Точкой прерывания (breakpoint) называется место в программе, достигнув которого программа остановится и будет открыта в отладчике. Смысл существования точки прерывания заключается в ускорении процесса отладки. Например, если Вы знаете место, в котором возникает ошибка, но пока не понимаете почему, Вам нужно остановить выполнение программы и проанализировать данные, которые «придут» в это место. В этом случае вместо того, чтобы по шагам идти по всей программе до нужного кода, вы можете установить в нем точку прерывания и запустить программу в обычном режиме. Когда точка будет достигнута – программа остановится, и Вы окажетесь в отладчике.

Точки прерывания могут быть различных типов. Самой простой точкой является точка прерывания сеанса (Session BP). Такая точка устанавливается в редакторе кода с помощью пункта меню Утилиты-Точки прерывания-Установить/Удалить. При этом в строке с курсором слева появится соответствующая иконка – вот такая

,

которая как раз говорит, что в этой строке установлена точка прерывания. Кроме появления иконки, о наличии точки прерывания будет сигнализировать подсвеченная темно-красным строка. Также точку можно поставить, нажав комбинацию клавиш Ctrl+Shift+F12, нажав кнопку в панели инструментов или кликнув мышью на сером поле слева (там, где появилась иконка). Снять точку прерывания можно, выполнив те же действия, что и при ее установке. Установленные таким способом точки прерывания будут работать в течение всего сеанса работы пользователя, установившего точку, пока он не удалит ее. После выхода из системы (манданта) сеанс прерывается и точки теряются.

Разновидностью точки прерывания сеанса является точка прерывания отладчика (Debugger BP). Такую точку можно установить, только находясь непосредственно в отладчике. Точка устанавливается с помощью пункта меню Точки прерывания-Точка прерывания строк-Установить/Удалить или клавишей F9 (в старом отладчике – Точки прерывания-Установить/Удалить или комбинацией Shift+F4). Также можно кликнуть мышью на сером поле, а в новом отладчике – на кнопку в панели инструментов

.

При установке точки слева от строки появляется иконка





,

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

В новом отладчике точку прерывания отладчика также можно сохранить как внешнюю точку прерывания (External BP), либо выбрав в меню пункт Точки прерывания-Save Debugger BPS as-External Bps, либо нажав кнопку Save as External BP на вкладке ТочкиПрерыв. Внешняя точка прерывания похожа на точку сеанса за тем исключением, что программу можно запустить в другом сеансе, а в отладку мы попадем в текущем. Такие точки, например, используется при отладке WebDynpro приложений. В этом случае приложение запускается в браузере, создавая таким образом еще один сеанс, но, если при этом перед запуском в текущем сеансе была установлена внешняя точка прерывания, то при достижении точки отладчик откроется в именно в текущем сеансе. Редактор кода в Web Dynpro автоматически в коде котроллеров вместо точек сеанса устанавливает внешние точки прерывания. Вручную внешнюю точку можно установить и снять с помощью пункта меню Утилиты-Внешние точки прерывания-Установить/удалить внешнюю точку прерывания, нажав соответствующую кнопку в панели инструментов

или комбинацию клавиш Ctrl+Shift+F9. Визуально внешняя точка прерывания отличается от точки сеанса иконкой – вот такой

.

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

Конец ознакомительного фрагмента.

Текст предоставлен ООО «ЛитРес».

Прочитайте эту книгу целиком, купив полную легальную версию на ЛитРес.

Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.