Использование отладки не останавливается на точках останова в Oracle SQL Developer

Я пытаюсь отладить хранимую процедуру с помощью Oracle SQL Developer. БД находится на другом ящике. Я предоставил привилегии, используя

GRANT debug any procedure, debug connect session TO <user>;

Я поместил точку останова внутри процедуры на одной из строк присваивания. Я пробовал другие места тоже от отчаяния. Когда я нажимаю «Отладка», я получаю диалоговое окно отладки и заполняю все значения. Когда я нажимаю «Отладка», запускается хранимая процедура, элементы управления отладкой мигают на экране через секунду, а затем она завершается и закрывается. Он пропускает все точки останова, как будто их там и не было. Любые идеи?


person uriDium    schedule 28.12.2009    source источник


Ответы (2)


Чтобы отладка работала, вы должны скомпилировать пакет/процедуру с флагом отладки. В SQL-Developer это делается путем открытия пакета и нажатия маленькой кнопки «Gears with bug» (компилировать пакет для отладки).

После этого все ваши точки останова будут работать.

person Falco    schedule 05.02.2015
comment
Правильная причина для моего случая - person Hoàng Long; 07.07.2016

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

person uriDium    schedule 28.12.2009
comment
Этот ответ, вероятно, не сильно поможет другим в вашей ситуации, я думаю, что когда вы что-то изменили и сохранили → сохранение хранимой процедуры в SQL-Developer фактически компилирует ее в базе данных → см. мой ответ - person Falco; 05.02.2015